1、內存管理原則
1)【原則】
A、只要還有東西在使用某個對象,那麼這個對象就不會被回收
B、只要你想要使用這個對象,就應該讓這個對象的引用計數+1
C、當你不使用這個對象時,就應該讓這個對象的引用計數-1
2)【誰創建、誰release】
A、如果是通過alloc、new、copy來創建一個對象,那麼久必須調用release或者autorelease方法
B、不是你創建的就不用去負責
3)【誰retain,誰release】
只要你調用了retain,無論這個對象是如何生成的。你都要調用release
4)【總結】
有始有終,如果之前讓計數器+1,那麼最後就得讓計數器-1
2、內存管理研究的內容:
1)【野指針】殭屍對象
A、定義的指針變量沒有初始化
B、指向的空間已經被釋放
2)【內存泄露】
例如:
Person *p = [Person new];
該對象棧區p佔用的空間已經釋放了,但是堆區分配的還沒釋放,那麼這就是內存泄露