在App需要進(jìn)行優(yōu)化內(nèi)存使用和優(yōu)化內(nèi)存分配的時候式撼,找了網(wǎng)絡(luò)上的一些關(guān)于Instruments的資料童社,發(fā)現(xiàn)都是一些比較舊的資料,于是自己去官網(wǎng)看了一下教程著隆,看了下Instruments這個App的使用方式扰楼,順帶做了一些筆記,拿出來分享給大家美浦。大家有什么好的建議或者文章有什么錯誤弦赖,都?xì)g迎在評論中指出,我會及時更正浦辨。
對于Instruments這個App蹬竖,它只是用來幫助找出和定位App中存在的問題,至于問題的具體解決還是我們自己來解決的流酬,不過它也是一把利刃案腺。
1、打開Instruments這個App康吵,選擇對應(yīng)的模版劈榨,你要調(diào)試的設(shè)備,你準(zhǔn)備優(yōu)化的App晦嵌,因為我是準(zhǔn)備查看App的內(nèi)存分配的同辣,所以選擇Allocations模板拷姿,點(diǎn)擊Choose確認(rèn)。
2旱函、選擇對應(yīng)的設(shè)備或者模擬器响巢,選擇對應(yīng)的App。開始棒妨、停止和暫停按鈕如圖所示踪古,時間線就是你使用Instruments跟蹤分析你App時候?qū)?yīng)的分析圖形。監(jiān)測設(shè)置可以配置你需要監(jiān)測的選項如何配置看具體需求和監(jiān)測設(shè)置的說明券腔。
3乱豆、點(diǎn)擊開始監(jiān)測瓜喇,時間線部分顯示內(nèi)存分配的示意圖怪蔑,主要左邊選擇Allocations模板三妈,可以使用右邊的Make Generation功能記錄某個時間點(diǎn)的內(nèi)存分配具體信息(打點(diǎn)采樣)。打點(diǎn)采樣之后可以看到一個采樣數(shù)據(jù)列表辱魁。
4烟瞧、展開打點(diǎn)采用列表中的一項,可以看到對應(yīng)的類名字和對象數(shù)據(jù)染簇,還可以看到方法的調(diào)用棧参滴。當(dāng)你看到這個類創(chuàng)建了這么多個對象的時候,你也應(yīng)該會意識到這里存在一定某種程度的內(nèi)存分配問題锻弓。右邊可以看到方法調(diào)用椔严矗可以找到對應(yīng)的源代碼的大概位置。
5弥咪、雙擊對象查看對象的具體信息
6过蹂、點(diǎn)擊 右邊系統(tǒng)方法調(diào)用棧的某個方法,查看方法的具體詳情
7聚至、查看方法的匯編代碼酷勺。
官方資料對Instruments這個app的功能進(jìn)行詳細(xì)介紹,建議需要什么模塊就去看對應(yīng)的模塊指南,不用從頭到尾看扳躬。
如果你覺得我的這篇文章對你有一丁點(diǎn)兒作用的話脆诉,那么希望你能在下方給個贊哈,讓我知道這文章已經(jīng)起了它應(yīng)該的作用贷币,謝謝击胜!