ARC模式下是隐式管理对象计数器的。也就是说一般不需要我们去关心对象释放问题,系统会做。
1.对象创建,如果一个对象会在多个地方,多次被调用。那么最好用单例,或者能够保证在下一次创建之前得到释放。比如说网络请求,hud。
2.循环引用,一般出现在协议和block中。简单处理就是weak就行。
3.NSTimer,第三种其实可以解释为需要在合适时间释放的对象。通知,地图也算是这一类的,就是我们要在不需要他们的时候及时移除掉。
4.非OC对象内存处理,这种多是C语言框架的一些对象。比如,绘图,音频一类的。
CGImageRef ref = [context createCGImage:Image fromRect:Image.extent];
CGImageRelease(ref);
5.比较少见,大的循环。需要添加释放池,系统会在合适的时间释放不需要的变量内存。
网友评论