亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

iOS的樂器:為什么內存監視器不同意分配?

iOS的樂器:為什么內存監視器不同意分配?

胡說叔叔 2019-11-29 10:39:04
從這張屏幕截圖可以看出,Allocations認為我的應用程序(Ongo)僅使用7.55 MB的內存,而Memory Monitor則為53.30。此外,可用系統內存與應用程序正在使用的內存量幾乎沒有關聯。有誰知道為什么這兩個工具之間會有如此大的分歧?另外,是否可以找到低系統內存的來源,或者如何防止其很快耗盡?我的應用程序似乎沒有泄漏內存,但是以某種方式耗盡了系統資源。
查看完整描述

3 回答

?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

對于那些在2012年之后看到此帖子的人:

真正加載到設備物理內存中的內存是VM Tracker Instrument中的常駐內存。

分配工具僅標記由malloc / [NSObject alloc]和某些框架緩沖區創建的內存,例如,解壓縮的圖像位圖未包含在分配工具中,但它始終占用您的大部分內存。

請觀看WWDC 2012 Session 242 iOS App性能:內存以從Apple獲取信息。


查看完整回答
反對 回復 2019-11-29
?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

我認為這是由于OpenGL ES的內存使用情況已從ObjectAlloc中隱藏,但已計入“內存監視器”中。例如,在這里的問題中,請參見zoul的測試,他在創建紋理時觀察到ObjectAlloc略有上升,但隨后該內存在傳遞給OpenGL ES時從該儀器中消失了。內存監視器仍會跟蹤該紋理內存。

這應該包括UI元素(如圖層和視圖)的視覺外觀,因為CALayers實際上是OpenGL ES紋理的包裝。UI元素的實際2D圖像表示似乎沒有被ObjectAlloc跟蹤,這導致ObjectAlloc中的總值較低。

ObjectAlloc仍然可以很好地跟蹤分配的數量和類型,并且自從出現堆快照功能以來,它就變得更加有價值。您只想與Memory Monitor配合使用,以查看您真正的整體內存使用情況。


查看完整回答
反對 回復 2019-11-29
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

內存監視器將計算應用程序擁有的大部分或全部資源,包括在內核級別間接分配的資源。這包括Brad建議的AFAIK視頻內存(紋理等),還包括內存映射文件以及可能比較大的內核結構(如套接字)。清單可能很長...


查看完整回答
反對 回復 2019-11-29
  • 3 回答
  • 0 關注
  • 571 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號