内存优化

检测内存的一般方法

  • 1.静态检测法
    • 手动
    • 自动
  • 2.动态检测法(instruments)
  • 3.dealloc
    • 构造方法看打印看调没调用
  • 4.第三方自动检测库(MLeak)

野指针

product -> Scheme -> Run -> Diagnostics -> Zoombie Objects(僵尸对象)

  • assign对应 __unsafe_unretain,__weak
  • assign 与 weak,他们都是弱引用类型,最大的区别在哪里?
  • weak声明的变量对象释放后自动勤工,赋值为il
  • assign声明的变量对象释放后不会自动赋值为nil,会造成野指针错误

内存泄漏

  • 循环引用使用静态分析检测不出来

block问题

  • self -> block -> self

你可能感兴趣的:(内存优化)