ios安全释放

2017-06-15  本文已影响0人  前进中的青年

[obj release]:release操作后,obj对象的引用计数会减1,如果引用计数变为0,则obj对象会被释放,但是指向该对象的指针还是存在的。如果obj再去调用someMethod,则obj对象的指针就会试图通过指针找到对象,去执行相应的方法,但是这个时候ojb对象的指针所指的这个区域已经不是obj对象了,所以容易产生崩溃,即野指针崩溃问题。

obj = nil:此操作是将指向obj对象的指针置为空,如果此时obj对象的引用计数大于0,就会造成obj对象的指针与obj对象的联系被切断,obj对象并没有被真正的释放,obj再去调用release就不会起作用,从而造成内存泄漏。

上一篇下一篇

猜你喜欢

热点阅读