Objective-C 回顾【三】之 内存管理
理解引用计数
Objective-C 语言使用引用计数来管理内存,也就是说,每个对象都有个可以递增或递减的计数器。如果想使某个对象继续存活,那就递增其引用计数;用完了之后,就递减其计数。计数变为 O,就表示没人关注此对象了,于是,就可以把它销毁。
引用计数工作原理
Objective-C 中,调用 alloc
方法所返回的对象由调用者所拥有。也就是说,调用者已通过 alloc
方法表达了想令该对象继续存活下去的意愿。不过请注意,这并不是说对象此时的保留计数必定是 1。在 alloc
或。initWithInt:
方法的实现代码中,也许还有其他对象也保留了此对象,所以,其保留计数可能会大于 1。能够肯定的是:保留计数至少为 1。保留计数这个概念就应该这样来理解才对。绝不应该说保留计数一定是某个值,只能说你所执行的操作是递增了该计数还是递减了该计数。
1 | NSMutableArray *array = [[NSMutableArray alloc] init]; |