2012-04-17 34 views
1

我對內存進行了性能分析,它生成的分析報告對我來說並不完全清楚。警告是「System.Int32 []的實例佔80.90%的分配,分析堆分配以獲得新分配或視覺效果。」解碼windows手機內存性能分析報告

該報告顯示14890個Int32實例需要73541684個字節的內存。我不明白15000整合值如何取70MB的內存。這是一個32位整數。我錯過了什麼?

應用程序的內存使用情況在內存分析會話中比在CPU分析會話中更多,但我認爲這是由於某些分析本身消耗的內存所致。

http://i.imgur.com/FI5My.png

回答

0

它不是說你有Int32〜15000個實例,但你有一個陣列的〜15000個實例Int32(即System.Int32[]),其中最大的是爲1536012個字節,平均爲4,909字節,並且這些佔分析中所有內存分配的80.90%。

+0

謝謝。我不能相信我錯過了這一點。現在我必須弄清楚神的名字是誰創造了一個龐大的數組。 – 2012-04-17 22:48:18

+0

不用擔心:)我會說任何圖像加載/操作將是一個很好的開始。 – MrMDavidson 2012-04-17 22:53:45

+0

@MrMDavidson:嗨大衛。我也發現這樣的問題。我分析說我在運行時從媒體庫加載背景圖像。另外,我發現超額分配超過120%。但內存分析並沒有說明這個問題。內存消耗水平接近20 MB。讓我感到困惑。任何幫助? – Uday0119 2012-06-12 05:14:58