概述
内存泄露的经验
1、 @property (nonatomic, retain) 一定记得在dealloc里面释放,特别你写的数据模型文件。
2、 对数据库查询出来的数据使用时的内存泄露:在Instruments里最终会显示到你数据库语句的内存泄露,实际上你外面使用不当的问题,当然也可能是你查询数据后的封装处理出的问题(这个就看你的了)。
3、 网络数据处理的泄露,大多数开发都使用网络请求框架,然后自己封装,这里面内存泄露就看你的具体处理了。
内存管理经验
1、 dealloc的使用
a) 把dealloc方法放到implementation和synthesize下面方便你对属性是否需要释放的检查
b) 使用宏定义来处理释放
宏定义:#definesetFree(obj) { if( (obj) != nil ) { [obj release]; obj = nil; } }
优点
i. 可能声明了私有变量 但是根据需求有情况下并没有创建。
ii. 使用时已经做了内存处理但是又一次释放了。
iii. 减少代码行数 就是减少出错率。
2、 init的使用
a) 创建initData方法做Data部分变量的初始化创建。写在dealloc方法下面方便内存管理。
b) 创建initUI方法对UI部分变量进行初始化添加到视图等操作,写在initData方法下面方便内存管理。
3、 Analyze检测内存
a) 一般用来检测临时变量的内存使用是否规范。
4、 Instruments是比较全面的内存检测。
a) 内存泄露模块(Leaks)->Call Tree然后尽情的操作你的程序吧。
最后
以上就是英勇西装为你收集整理的内存错误整理的全部内容,希望文章能够帮你解决内存错误整理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复