2012-04-17 35 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