-
1.Objective-C如何对内存管理
-
(1)每个对象都有一个引用计数器,retainCount,当对象的retainCount = 0时,就会被销毁
-
(2)retain操作让对象的retainCount + 1、release操作让对象的retainCount - 1
-
(3)还可以通过autorelease pool管理内存
-
(4)如果用ARC,编译器会自动生成管理内存的代码
-
-
2.内存管理的原则
-
(1)只要调用了alloc、copy、new方法生成一个新对象,都必须在最后调用一次release或者autorelease
-
(2)只要调用了retain,都必须在最后调用一次release或者autorelease
-
(3)@property如果用了copy或者retain,就需要对不再使用的属性做一次release操作
-
(4)如果用了ARC,一般不需要手写release代码
-
-
3.检查项目中内存管理问题的方式
- (1)点击Xcode顶部菜单中的Product Analyze。这种方法主要可以查看内存泄露,变量未初始化,变量定义后没有被使用到
- (2)使用Instrument工具检查。点击Xcode顶部菜单中的Product Profile,弹出一个界面,选择左侧的Memory后,再选右侧的Leaks。
如有不当、错误之处,欢迎指正!
网友评论