
内存管理
文章平均质量分 69
Win_77
iOS开发工程师,坐标北京,学习分享计算机开发知识。
展开
-
Objective-C中的dealloc应该怎么用?
dealloc方法是什么样的?对象在经历其生命期后,最终会为系统所回收,这时就要执行dealloc方法了。在每个对象的生命期内,此方法仅执行一次,也就是当引用计数降为0的时候。然而具体何时执行,则无法保证。程序库会以开发者察觉不到的方式操作对象,从而使回收对象的真正实际和预期不同。你绝不应该自己调用dealloc方法。运行期系统会在适当的时候调用它。一旦调用过dealloc之后,对象就不再有效了,后续方法调用都是无效的。在dealloc方法中应该做些什么?主要就是释放对象所拥有的引用,ARC原创 2021-01-21 10:29:37 · 319 阅读 · 0 评论 -
Objective-C中的自动引用计数ARC背后做了什么处理及使用注意点
使用ARC后应该注意什么?1、由于ARC会自动执行retain、release、autorelease等操作,所以在ARC下不能直接调用这些内存管理方法。retain release autorelease dealloc因为ARC要分析何处应该自动调用内存管理方法,所以如果手工调用的话,就会干扰其工作。2、ARC硬性规定内存管理语义需要在方法名中表示出来。若方法名以下列词语开头,则其返回的对象归调用者所有:alloc new copy mutableCopy调用了这四种方法原创 2021-01-20 14:11:53 · 267 阅读 · 0 评论 -
Objective-C中的引用计数
什么是引用计数?Objective-C语言使用引用计数来管理内存,也就是说,每个对象都有个可以递增或递减的计数器。引用计数如何工作?如果想使某个对象继续存活,那就递增其引用计数;用完之后,就递减其计数。计数变为0,就表示没人关注此对象了,于是,就可以把它销毁。NSobject协议声明了三个方法用于操作引用计数,以递增或者递减。retain 递增引用计数 release 递减应用计数 autorelease 等到稍后清理”自动释放池“的时候,再递减引用计数。对象创建之后,...原创 2021-01-19 14:16:56 · 365 阅读 · 0 评论