【问题标题】:How to debug running out of memory on Windows Phone如何在 Windows Phone 上调试内存不足
【发布时间】:2013-01-24 17:58:18
【问题描述】:

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

如果我离开应用程序并多次返回,我的内存就会耗尽(例如,主页 -> 返回 -> 主页 -> 返回...)。

我想知道如何调试这个问题?我正在尝试尽可能多地清理内存(使用 Dispose/将内容设置为 null),但它不起作用。

我将如何调试它?有没有办法找出内存是如何被什么使用的?

【问题讨论】:

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


    【解决方案1】:

    检查这个问题的答案:

    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

    【讨论】:

      【解决方案2】:

      lhan16 的回答很到位。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-28
        • 1970-01-01
        • 1970-01-01
        • 2020-07-11
        • 1970-01-01
        • 1970-01-01
        • 2011-07-09
        相关资源
        最近更新 更多