黑马程序员技术交流社区
标题:
对象销毁与僵尸对象
[打印本页]
作者:
suihaixia54
时间:
2016-1-20 09:54
标题:
对象销毁与僵尸对象
对象销毁
1.当一个对象的引用计数器值为0时,那么它将被销毁,其占用的内存被系统回收;
2.当一个对象被销毁时,系统会自动向对象发送一条dealloc消息;
3.一般会重写dealloc方法,释放相关资源;
4.一旦重写dealloc方法,就必须调用[super dealloc]并且放在最后调用;
5.不要直接调用dealloc方法;
6.一旦对象被回收,坚持使用会发生程序崩溃(野指针错误);
*针对[super dealloc]必须要放在方法dealloc的最后:
原因是:你所创建的每个类都是从父类,根类继承来的,有很多实例变量也会继承过来,这部分变量有时候会在你的程序使用,
它们不会自动释放内存,你需要调用父类的dealloc方法来释放,然而在此之前,你需要先把自己所写类中得变量内存先释放掉,
否则就会造成你本类的内存挤压,造成内存泄露;
僵尸对象:一个对象的引用计数器为0后,该对象就变为僵尸对象;
野指针:指向僵尸对象的指针;
空指针:指向nil的指针;
作者:
有款不辩
时间:
2016-1-20 11:11
学习了~~~
作者:
guyuexing
时间:
2016-1-20 22:57
总结的很好
作者:
youngrivers
时间:
2016-1-22 23:45
要记住循环引用的处理情况
作者:
红凉梦
时间:
2016-1-23 11:35
大赞,加油
作者:
13631297627
时间:
2016-1-23 23:12
不错,今天刚刚学这个!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2