内存错误整理

来源:互联网 发布:excel的数据分析在哪里 编辑:程序博客网 时间:2024/04/17 05:39

内存泄露的经验

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然后尽情的操作你的程序吧。