如何调试Windows Phone上的内存不足

时间:2013-02-08 21:19:50

标签: c# memory-management windows-phone-8

我正在用c#制作一个WP8图像处理应用程序,并且遇到了一些内存问题。

如果我离开应用程序,并导航回了很多次,我的内存耗尽(例如Home - > back - > home - > back ...)。

我想知道如何调试此问题?我正在尝试尽可能多地清理内存(使用Dispose / setting to null),但它无效。

我该如何调试?有没有办法找出内存是如何使用的?

2 个答案:

答案 0 :(得分:3)

检查这个问题的答案:

Windows Phone Memory Profilers

  

Windows Phone SDK随附内存的分析器   消费以及之后在Visual Studio中可用的其他内容   安装SDK。

或者,这是MSDN文章的直接链接:

http://msdn.microsoft.com/en-us/library/hh202934%28v=vs.92%29.aspx

<强>更新

看起来这个问题是针对WP7的,所以它可能适用也可能不适用。但是,我发现了一篇适用于WP8和WP7的文章:

http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202934(v=vs.105).aspx

答案 1 :(得分:1)

lhan16的回答是现货。

您需要做的是使用内存分析并定期检查内存堆,以查看不应该分配的内容。这至少可以帮助你缩小谁可能是你的内存泄漏的罪魁祸首。我写了一篇文章,其中包括一个存储太多Byte []的简单示例,以及如何使用内存分析工具找到那些@ http://www.developer.nokia.com/Community/Wiki/Techniques_for_memory_analysis_of_Windows_Phone_apps#Profiling