Instruments的使用(內(nèi)存優(yōu)化\內(nèi)存分配)

在App需要進(jìn)行優(yōu)化內(nèi)存使用和優(yōu)化內(nèi)存分配的時(shí)候,找了網(wǎng)絡(luò)上的一些關(guān)于Instruments的資料,發(fā)現(xiàn)都是一些比較舊的資料,于是自己去官網(wǎng)看了一下教程,看了下Instruments這個(gè)App的使用方式,順帶做了一些筆記,拿出來(lái)分享給大家。大家有什么好的建議或者文章有什么錯(cuò)誤,都?xì)g迎在評(píng)論中指出,我會(huì)及時(shí)更正。

對(duì)于Instruments這個(gè)App,它只是用來(lái)幫助找出和定位App中存在的問(wèn)題,至于問(wèn)題的具體解決還是我們自己來(lái)解決的,不過(guò)它也是一把利刃。

1、打開Instruments這個(gè)App,選擇對(duì)應(yīng)的模版,你要調(diào)試的設(shè)備,你準(zhǔn)備優(yōu)化的App,因?yàn)槲沂菧?zhǔn)備查看App的內(nèi)存分配的,所以選擇Allocations模板,點(diǎn)擊Choose確認(rèn)。

2、選擇對(duì)應(yīng)的設(shè)備或者模擬器,選擇對(duì)應(yīng)的App。開始、停止和暫停按鈕如圖所示,時(shí)間線就是你使用Instruments跟蹤分析你App時(shí)候?qū)?yīng)的分析圖形。監(jiān)測(cè)設(shè)置可以配置你需要監(jiān)測(cè)的選項(xiàng)如何配置看具體需求和監(jiān)測(cè)設(shè)置的說(shuō)明。

3、點(diǎn)擊開始監(jiān)測(cè),時(shí)間線部分顯示內(nèi)存分配的示意圖,主要左邊選擇Allocations模板,可以使用右邊的Make Generation功能記錄某個(gè)時(shí)間點(diǎn)的內(nèi)存分配具體信息(打點(diǎn)采樣)。打點(diǎn)采樣之后可以看到一個(gè)采樣數(shù)據(jù)列表。

4、展開打點(diǎn)采用列表中的一項(xiàng),可以看到對(duì)應(yīng)的類名字和對(duì)象數(shù)據(jù),還可以看到方法的調(diào)用棧。當(dāng)你看到這個(gè)類創(chuàng)建了這么多個(gè)對(duì)象的時(shí)候,你也應(yīng)該會(huì)意識(shí)到這里存在一定某種程度的內(nèi)存分配問(wèn)題。右邊可以看到方法調(diào)用??梢哉业綄?duì)應(yīng)的源代碼的大概位置。

5、雙擊對(duì)象查看對(duì)象的具體信息

6、點(diǎn)擊 右邊系統(tǒng)方法調(diào)用棧的某個(gè)方法,查看方法的具體詳情

7、查看方法的匯編代碼。

參考資料https://developer.apple.com/library/ios/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/index.html#//apple_ref/doc/uid/TP40004652-CH3-SW1

官方資料對(duì)Instruments這個(gè)app的功能進(jìn)行詳細(xì)介紹,建議需要什么模塊就去看對(duì)應(yīng)的模塊指南,不用從頭到尾看。

如果你覺得我的這篇文章對(duì)你有一丁點(diǎn)兒作用的話,那么希望你能在下方給個(gè)贊哈,讓我知道這文章已經(jīng)起了它應(yīng)該的作用,謝謝!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容