iOS内存管理

来源:互联网 发布:通联支付网络这么挣钱 编辑:程序博客网 时间:2024/05/21 22:32

1,MRC(提供对内存的手动管理)

(1)      retain,该方法的作用是将内存数据的所有权附给另一指针变量,引用数加1,即retainCount+= 1;

(2)      release,该方法是释放指针变量对内存数据的所有权,引用数减1,即retainCount-= 1;

(3)      autorelease,该方法是将该对象内存的管理放到autoreleasepool中。

对与Objective-c中属性的标识符可以总结为:

@property (nonatomic/atomic,retain/assign/copy, readonly/readwrite) Number* num;

(1)      nonatomic/atomic,表示该属性是否是对多线程安全的,是不是使用线程锁,默认为atomic,

(2)      retain/assign/copy,是有关对该属性的内存管理的,


2,ARC(提供对内存的自动管理)

@property (nonatomic/atomic, assign/retain/strong/weak/unsafe_unretained/copy,readonly/readwrite) Number* num;//默认为unsafe_unretained

strong

在ARC中与内存管理有关的标识符,可分为

变量标识符

1)_strong   2)_weak   3)_unsafe  4)_autoreleasinig

对于变量标识符的用法:

_strong Number* num = [[Number alloc]init]

和属性标识符

0 0
原创粉丝点击