码迷,mamicode.com
首页 > 其他好文 > 详细

内存管理池

时间:2015-12-13 20:17:13      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

1、如果想要调用release,必须开启ARC

2、[实例对象 autorelease] 这个方法就是吧实例对象放到自动释放池中。(内存报警或者程序结束时自动释放)

3、@autoreleasepool  {} 自动释放池。

                           自动内存管理/ARC(Automatic Reference Counting)

1、自动内存管理

编译器自动的添加完成了内存管理的引用计数代码。(苹果公司支持用的)

2、ARC使用原则

3、ARC/MRC混编

                              ARC原则

1、代码中不能使用retain,release,autorelease

2、不重载dealloc(可以重写覆盖,不能调用)(如果是释放对象内存以外的处理,是可以重载该函数的,但是不能调用)

3、不能使用NSAllocateObject,NSDeallocateObject

4、不能再C结构体中使用对象指针

5、id与void*间的如果cast时需要用特定的方法

6、不能使用NSAutoReleasePool、而需要@autoreleasepool块

7、不能使用”new“开始的属性名称(如果使用会有下面的编译错误)

                                ARC和MRC(手动内存管理)混编

                                  MRC口诀

1、谁创建,谁释放,如果你通过alloc new copy来创建一个对象,那么你必须调用release或者这

autorrelease。换句话说,,不是你创建的,你就不用去释放。

例如你在函数中alloc生成了一个对象,且这个对象只再这个函数中被使用,那么你必须在这个函数

中调用release或者autorelease,如果你在一个class的某个方法中调用release,如果调用了autorelease

那么再dealloc方法中声明都不需要做

2、除了alloc、new、copy之外的方法创建的对象都被声明了autorelease。

3、谁retain,谁release。只要你调用了retain,无论这个对象是如何生成的,你都要调用release

内存管理池

标签:

原文地址:http://www.cnblogs.com/naizui/p/5043432.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!