码迷,mamicode.com
首页 > 移动开发 > 详细

iOS-多线程-内存管理

时间:2015-09-11 01:25:18      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:

iOS与OSX 多线程和内存管理  总结

一、              自动引用计数

1.自动引用计数(ARC)就是指内存管理中对引用采用自动计数的技术。

满足以下条件即可使用这种功能:

Xcode 版本为4.2以上;

使用LLVM编译器 版本为3.0以上;

编译器选项设置ARC为有效;

2.内存管理/引用计数

 内存管理的思考方式:

                                                2.1自己生成的对象,自己持有;

                                                2.2非自己生成的对象,自己也能持有;

                                                2.3不需要自己持有的对象时释放;

                                                2.4非自己持有的对象无法释放;

2.1自己生成的对象,自己持有:               

使用以下名称开头的方法意味着自己生成的对象只有自己持有

                                                        alloc;

                                                        new;

                                                        copy;

                                                        mutableCopy;

2.2非自己生成的对象,自己也能持有:

获取对象的方法还有:NSMutableArray 类 的array 类方法

代码示例:

取得非自己生成,非自己持有的对象:

 id obj = [NSMutableArray     array ];

自己持有对象

[obj retain];

2.3不需要自己持有的对象时释放:

自己释放对象

[obj release];

2.4非自己持有的对象无法释放

  代码可以编译通过,但是强行释放会导致程序崩溃

3.alloc/retain/release/dealloc的实现

         在Objective-C的对象中存有引用计数这一整数;

         调用 alloc 或是 retain 方法后,引用计数加1;

         调用 release 后,引用计数值减1;

         引用计数值为时,调用dealloc方法废弃对象;

 

                                                                

iOS-多线程-内存管理

标签:

原文地址:http://www.cnblogs.com/CoderAlex/p/4799743.html

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