现在的位置: 首页 > 综合 > 正文

内存优化处理

2018年04月19日 ⁄ 综合 ⁄ 共 580字 ⁄ 字号 评论关闭
文章目录

内存处理:

  1. 使用分析器,修改泄露的问题
  2. 避免循坏引用,dealloc、rootviewcontroller、block 的self 等参数
  3. 确定dealloc 方法按照预期调用了
  4. 基本上没什么好说了,你已经做了你该做的

——显然UIKit本身还做了一些其它的你不需要知道的事情,也许是为了优化整个流程,也许是对特定的控件做了缓存,等等

细节:

去除循环引用

如 new.delegate = self (weak)

.rootViewController = self;

block 相关

  • 不要在 block 中引用self,而是使用

__block id copy_self = self;

  • block 只会对栈进行只读拷贝

只能使用,不能写,如 

int x = 1

^{

x=3 //将报错

}

而使用

__block int x = 1;

^{

x=3 //可以的

}

The last:

无论APP怎么表现,都需要保证更好地质量。在此基础上,多花时间在一些feature上。同时可以使用一些自带工具监测内存如 Allocation 、Leaks 和zoombies。

引用neogui的一段话:你的代码基本没什么问题, 所以不要为了64 Bytes纠结,你push、pop一次才leak这么点内存,用户点按钮再回来1000次也才64K而已。找回这64 Bytes不会给你的用户带来任何惊喜,但是如果你多花时间在一些feature上,你的用户会很感激你,也会很愿意掏皮夹

抱歉!评论已关闭.