对象销毁
1.当一个对象的引用计数器值为0时,那么它将被销毁,其占用的内存被系统回收;
2.当一个对象被销毁时,系统会自动向对象发送一条dealloc消息;
3.一般会重写dealloc方法,释放相关资源;
4.一旦重写dealloc方法,就必须调用[super dealloc]并且放在最后调用;
5.不要直接调用dealloc方法;
6.一旦对象被回收,坚持使用会发生程序崩溃(野指针错误);
*针对[super dealloc]必须要放在方法dealloc的最后:
原因是:你所创建的每个类都是从父类,根类继承来的,有很多实例变量也会继承过来,这部分变量有时候会在你的程序使用,
它们不会自动释放内存,你需要调用父类的dealloc方法来释放,然而在此之前,你需要先把自己所写类中得变量内存先释放掉,
否则就会造成你本类的内存挤压,造成内存泄露;
僵尸对象:一个对象的引用计数器为0后,该对象就变为僵尸对象;
野指针:指向僵尸对象的指针;
空指针:指向nil的指针; |
|