你的位置:首页 > 操作系统

[操作系统]arc下内存泄漏的解决小技巧


一定要注意,我们运行app时,一定要关心内存的使用,尽量不要超过20M,即使有很多图片要显示也绝对不能超过30M。所以运行自己开发的app时多关心内存的使用是个很好的习惯。

对于性能,内存的优化,这个涉及的就太多了。现在先讲讲几个最基本常见的内存泄露下的解决方法。

 

1. instruments

instrument可以报出不少内存泄露的错误,方法:http://www.cocoachina.com/ios/20141203/10519.html,很容易操作。

不过它最大的功能还是可以自己看出哪里内存用了多,从而进行优化。

2. arc的问题

ARC does not manage C-types, of which CGImage may be considered. You must release the ref manually when you are finished with CGImageRelease(image);

这是stackoverflow别人的回答,就是说在arc模式下,C-types的对象需要手动来进行释放

 

arc还会有循环引用等问题,导致对象不能被释放,有个小技巧来处理,可以写下-(void)dealloc设置断点,如果页面跳转没有执行它,那么证明你犯错了,自动计数没有为0,不会释放的,内存会一直增加,需要去找错。