接上文:iOS- 如何將非ARC的項目轉換成ARC項目(實戰)
當我們把將非ARC的內存管理都管理好后,發現在做有些操作的時候內存還是在一直的緩慢增加 比如做一個最簡單的隨機數UITableView的顯示與滑動,進行內存管理后,不應該出現內存增加的,但是一直滑動內存就一直緩慢的往上增加的情況。
這時候我們可以檢查下看這里的屬性是否打勾:

或者檢測app一啟動時控制臺有沒有立即輸出下列這句話

如果勾上,上面三個選項,控制臺就會出現下列幾行輸出
ARCTest(651,0x1f321a8) malloc: stack logs being written into /tmp/stack-logs.651.8af7000.ARCTest.jGqgoD.indexARCTest(651,0x1f321a8) malloc: recording malloc and VM allocation stacks to disk using standard recorder
如果發現有的話,把圖1的三個屬性的勾去掉。這三個選項只要用戶在不斷的操作,程序就會記錄下一些東西,這個時候就會耗費一定的內存。
3.1.在非ARC環境下,所有的類方法
在非ARC環境下,所有的類方法初始化
系統不會幫你管理內存。
而且你直接 release 也沒有效果
     while (true) {      	  NSMutableArray *arr = [NSMutableArray array];      	  [arr release];    }
正確的類方法內存管理應該是:
    
正確內存走勢圖:

   while (true) {        NSString *re = [[NSString alloc] initWithFormat:@"ddd"];        [re release];    }
作者: 清澈Saup
出處: http://m.survivalescaperooms.com/qingche/
本文版權歸作者和博客園共有,歡迎轉載,但必須保留此段聲明,且在文章頁面明顯位置給出原文連接。  
新聞熱點
疑難解答