【问题标题】:How to found a cause of memory leak at Windows Phone 8.1 Xaml app?如何在 Windows Phone 8.1 Xaml 应用程序中找到内存泄漏的原因?
【发布时间】:2016-03-09 12:58:03
【问题描述】:

我在我的应用程序中发现了内存泄漏并尝试修复它。但不幸的是,我找不到泄漏的原因。请看截图,我是通过 Visual Studio Profiler 得到的。我没有看到任何 root 路径,但 TracksViewModel 还活着!

如何找到泄漏的原因?

【问题讨论】:

    标签: c# xaml memory-leaks windows-phone-8.1 profiler


    【解决方案1】:

    我可以看到TracksViewModel 中有循环链接。 我猜有一些复杂的 lambda 和 lambda EventHandlers

    当不再需要 VM 时,您还应该取消订阅所有事件(例如,PropertyChanged)。如果没有机会退订,您也可以尝试某种 WeakEventHandler。

    【讨论】:

    • 你说得对,循环链接是命令用来调用操作的 lambda,但它在我所有的视图模型中都使用并允许 GC 释放它。
    猜你喜欢
    • 1970-01-01
    • 2015-03-02
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    • 2014-11-29
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多