使用Instruments監(jiān)測內(nèi)存使用 / 分配情況

打開Allocations

1.首先,將程序安裝到模擬機或真機上;

2.點擊Product,再點擊Profile,打開Instruments

3.選擇Allocations

4.先選擇程序,再開始錄制(開始錄制會自動開啟程序)


錄制過程:

All Heap & Anonymous VM: 實際用到的內(nèi)存和操作系統(tǒng)分配的匿名虛擬內(nèi)存。

Anonymous VM(匿名虛擬內(nèi)存)是系統(tǒng)為程序預(yù)留的、可能會立即被重復(fù)使用的一部分可用內(nèi)存。

如果不想看到匿名虛擬內(nèi)存,可以在Display Settings設(shè)置:


監(jiān)控場景:UIImage加載圖片

監(jiān)控發(fā)現(xiàn):

1.使用imageNamed方法加載圖片:當對象(UIImageView)銷毀,圖片對象不會隨著一起銷毀。

缺:加載的圖片占據(jù)的內(nèi)存較大

優(yōu):相同的的圖片只會加載一份到內(nèi)存中,如果多個對象同時使用,使用同一個圖片對象即可。

2.使用imageWithContentsOfFile方法加載圖片:當對象(UIImageView)銷毀,圖片對象隨著一起銷毀。

優(yōu):加載的圖片占據(jù)的內(nèi)存較小。

缺:相同的圖片會多次加載到內(nèi)存中,如果多個對象同時使用,使用的是不同的圖片對象。

總結(jié)兩個方法的適用場景:

imageNamed——圖片多個界面要使用,圖片較小、使用頻率高(圖標、小的背景圖)

imageWithContentsOfFile——只在一個地方使用,圖片較大、使用頻率不高(版本新特性、相冊)

【注意】

1.如果修改了程序代碼,想要重新監(jiān)控程序的內(nèi)存分配,首先停止錄制;

2.然后Xcode重新運行一次(重新安裝在模擬機和真機上),再關(guān)閉,再開始錄制;

3.如果不重新安裝再點錄制,監(jiān)控的會是之前的程序。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容