内存管理

  • 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。

如有不当、错误之处,欢迎指正!

你可能感兴趣的:(内存管理)