240 发简信
IP属地:湖北
  • APP的性能监控方案:CPU、FPS、内存

    线下监控 Xcode Instruments 使用 Instruments 的 os_signpost API 来完成自定义的性能数据监控工具开发。 线上监控 原则 监控代码...

  • APP包大小优化总结

    官方App Thining App Thining会根据不同的设备提供相应的App包进行下载。 App Thinning 有三种方式,包括:App Slicing、Bitco...

  • dyld源码阅读

    参考 dyld源码[https://opensource.apple.com/tarballs/dyld/] 个人注释的源码[https://github.com/iWind...

  • #define 不是定一个变量哦

    FOUNDATION_EXPORT、extern的用法

    FOUNDATION_EXPORT和#define意思一样,都是定一个变量。 A.h文件 FOUNDATION_EXPORT NSString * const kName;F...

  • 如果一个线程对同一把锁多次加锁,会造成死锁,递归锁允许同一个线程对同一把锁重复加锁,所以 pthread_mutex 可以设置成 PTHREAD_MUTEX_RECURSIVE 类型就可以避免死锁了

    iOS中的锁的介绍及使用

    在平时的开发中经常使用到多线程,在使用多线程的过程中,难免会遇到资源竞争的问题,那我们怎么来避免出现这种问题那? 线程安全是什么? 当一个线程访问数据的时候,其他的线程不能对...

  • string2 = @"BOY BOY BOY BOY"; 是让 string2 指针指向了一块新内存,所以地址肯定不一样了,另外,@"BOY BOY BOY BOY" 是常量,内存分配在常量区,无论多少指针指向 @"BOY BOY BOY BOY",他们的地址都是一样的

    让你快速解开对copy、mutableCopy,深复制和浅复制的疑惑

    虽然这不是一个难点,但是,可能很多人会在这个地方犯迷糊,现在,我就用最简单的方式让你快速理解这个问题! 首先,先叫明白浅复制和深复制的区别:浅拷贝只是增加了一个指针指向已经存...

  • 如何玩转 Flutter 动画

    1. 基本动画概念和相关类 Animation: flutter 动画库中的一个核心类,它生成指导动画的值; AnimationController: Animation 的...