我正在用c#制作一个WP8图像处理应用程序,并且遇到了一些内存问题。
如果我离开应用程序,并导航回了很多次,我的内存耗尽(例如Home - > back - > home - > back ...)。
我想知道如何调试此问题?我正在尝试尽可能多地清理内存(使用Dispose / setting to null),但它无效。
我该如何调试?有没有办法找出内存是如何使用的?
答案 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