MetricKit框架詳細(xì)解析(三) —— Reducing Your App's Memory Use(一)

版本記錄

版本號(hào) 時(shí)間
V1.0 2021.05.12 星期三

前言

MetricKit由iOS13系統(tǒng)進(jìn)引入,用來匯總和分析有關(guān)異常和崩潰診斷以及電源和性能指標(biāo)的每個(gè)設(shè)備的報(bào)告表牢。下面我們就一起來看下這個(gè)框架塞弊。感興趣的可以看下面幾篇文章。
1. MetricKit框架詳細(xì)解析(一) —— 基本概覽(一)
2. MetricKit框架詳細(xì)解析(二) —— Improving Your App's Performance(一)

Overview

通過分析內(nèi)存使用指標(biāo)并進(jìn)行更改以最大程度地提高內(nèi)存效率倍阐,從而提高您應(yīng)用的性能燥狰。

設(shè)備上的內(nèi)存(RAM)是由應(yīng)用程序,操作系統(tǒng)進(jìn)程和內(nèi)核共享的有限資源。 iOS具有滿足各種內(nèi)存需求的技術(shù)裆熙,但是這些技術(shù)是以速度和響應(yīng)速度為代價(jià)的。例如禽笑,當(dāng)應(yīng)用程序在后臺(tái)運(yùn)行時(shí)入录,iOS可能會(huì)將內(nèi)存密集型應(yīng)用程序轉(zhuǎn)移到固態(tài)存儲(chǔ)中。然后佳镜,當(dāng)返回到前臺(tái)或嘗試運(yùn)行后臺(tái)任務(wù)時(shí)僚稿,該應(yīng)用程序會(huì)導(dǎo)致延遲。

如果應(yīng)用程序占用的內(nèi)存過多蟀伸,iOS會(huì)向其發(fā)送警告蚀同。您會(huì)以崩潰報(bào)告的形式收到有關(guān)此類警告的通知。該報(bào)告具有EXC_RESOURCE異常類型和MEMORY子類型啊掏,表明該應(yīng)用程序已接近其內(nèi)存限制蠢络。這并不意味著iOS已經(jīng)終止了該應(yīng)用程序,僅表示它已檢測到內(nèi)存使用問題迟蜜。觸發(fā)異常的內(nèi)存限制取決于設(shè)備刹孔,一旦應(yīng)用程序超出此限制,iOS就會(huì)終止該限制娜睛。如果該應(yīng)用在前臺(tái)中終止髓霞,則用戶會(huì)看到它消失。下次用戶打開該應(yīng)用程序時(shí)微姊,它將從頭開始啟動(dòng)酸茴,所需時(shí)間比從后臺(tái)恢復(fù)所需的時(shí)間更長分预。

由于設(shè)備在應(yīng)用程序和iOS進(jìn)程之間共享內(nèi)存兢交,因此一個(gè)應(yīng)用程序使用過多的內(nèi)存可能會(huì)損害整個(gè)設(shè)備的用戶體驗(yàn)。限制應(yīng)用程序使用的內(nèi)存量可以使用戶受益笼痹,即使他們正在使用其他應(yīng)用程序也是如此配喳。


Understand Memory-Use Metrics

Xcode OrganizerMetricKit分別提供了兩個(gè)有關(guān)應(yīng)用程序內(nèi)存使用情況的指標(biāo)酪穿。第一個(gè)指標(biāo)是峰值內(nèi)存使用量(peak memory use),這是在任何采樣中觀察到的最高內(nèi)存使用量晴裹。 iOS通過全天定期采樣應(yīng)用程序的內(nèi)存使用量來收集此指標(biāo)被济。第二個(gè)指標(biāo)是在暫停狀態(tài)下觀察到的內(nèi)存使用情況,是在應(yīng)用進(jìn)入后臺(tái)時(shí)測量的涧团。

iOS將內(nèi)存使用量衡量為使用中的內(nèi)存頁數(shù)乘以頁面大兄涣住(通常為16 KB)。如果iOS必須分配一個(gè)新頁來存儲(chǔ)該字節(jié)泌绣,則將一個(gè)字節(jié)寫入分配的內(nèi)存可以將內(nèi)存使用量增加16 KB钮追。

應(yīng)用程序的可執(zhí)行文件或鏈接的庫和框架中定義的數(shù)據(jù)結(jié)構(gòu)有助于內(nèi)存使用指標(biāo)。 應(yīng)用在runtime分配的內(nèi)存最初并不會(huì)影響該指標(biāo)阿迈。 這樣的內(nèi)存是“干凈的”元媚,iOS不需要專用的物理RAM來存儲(chǔ)它。 當(dāng)應(yīng)用程序?qū)懭敕峙涞膬?nèi)存時(shí)苗沧,它將變?yōu)?code>“ dirty”刊棕,并且iOS專用于RAM來存儲(chǔ)其內(nèi)容,如下圖所示待逞。 Dirty memory貢獻(xiàn)了內(nèi)存使用的指標(biāo)甥角。


View Data on Memory Use

Xcode Organizer窗口的Memory窗格中或使用MetricKit查看應(yīng)用程序的內(nèi)存使用情況。

Memory窗格在頂部圖形中顯示有關(guān)峰值內(nèi)存的信息识樱,在底部圖形中顯示處于暫停狀態(tài)的內(nèi)存的信息蜈膨。 使用右上角的兩個(gè)菜單,按設(shè)備類型和使用的典型內(nèi)存(第50個(gè)百分位數(shù))或使用的頂部內(nèi)存(第90個(gè)百分位數(shù))過濾信息牺荠,以查找可能的問題區(qū)域翁巍。 通過單擊圖表中所需的release版上的欄,將當(dāng)前release版與先前release版的內(nèi)存使用情況進(jìn)行比較休雌。


Topics

1. Tasks


See Also

1. Related Documentation

后記

本篇主要講述了Reducing Your App's Memory Use灶壶,感興趣的給個(gè)贊或者關(guān)注~~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市杈曲,隨后出現(xiàn)的幾起案子驰凛,更是在濱河造成了極大的恐慌,老刑警劉巖担扑,帶你破解...
    沈念sama閱讀 222,627評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恰响,死亡現(xiàn)場離奇詭異,居然都是意外死亡涌献,警方通過查閱死者的電腦和手機(jī)胚宦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人枢劝,你說我怎么就攤上這事井联。” “怎么了您旁?”我有些...
    開封第一講書人閱讀 169,346評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵烙常,是天一觀的道長。 經(jīng)常有香客問我鹤盒,道長蚕脏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,097評(píng)論 1 300
  • 正文 為了忘掉前任侦锯,我火速辦了婚禮蝗锥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘率触。我一直安慰自己终议,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,100評(píng)論 6 398
  • 文/花漫 我一把揭開白布葱蝗。 她就那樣靜靜地躺著穴张,像睡著了一般。 火紅的嫁衣襯著肌膚如雪两曼。 梳的紋絲不亂的頭發(fā)上皂甘,一...
    開封第一講書人閱讀 52,696評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音悼凑,去河邊找鬼偿枕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛户辫,可吹牛的內(nèi)容都是我干的渐夸。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼渔欢,長吁一口氣:“原來是場噩夢啊……” “哼墓塌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起奥额,我...
    開封第一講書人閱讀 40,108評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤苫幢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后垫挨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體韩肝,經(jīng)...
    沈念sama閱讀 46,646評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,709評(píng)論 3 342
  • 正文 我和宋清朗相戀三年九榔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了哀峻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片涡相。...
    茶點(diǎn)故事閱讀 40,861評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖谜诫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情攻旦,我是刑警寧澤喻旷,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站牢屋,受9級(jí)特大地震影響且预,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜烙无,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,196評(píng)論 3 336
  • 文/蒙蒙 一锋谐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧截酷,春花似錦涮拗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至三幻,卻和暖如春就漾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背念搬。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評(píng)論 1 274
  • 我被黑心中介騙來泰國打工抑堡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人朗徊。 一個(gè)月前我還...
    沈念sama閱讀 49,287評(píng)論 3 379
  • 正文 我出身青樓首妖,卻偏偏與公主長得像,于是被迫代替她去往敵國和親爷恳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子悯搔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,860評(píng)論 2 361

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