gpt4 book ai didi

c# - Windows Phone 8 上的内存泄漏

转载 作者:太空狗 更新时间:2023-10-29 19:44:08 24 4
gpt4 key购买 nike

我正在开发 Windows 8 native 应用程序。在应用程序中来回切换一段时间后,我的应用程序崩溃了。在分析中,使用内存分析器,我发现每次我从一个页面导航到另一个页面时,内存使用量都会增加,尽管我将列表、webclient、字符串等的所有对象设置为空,然后调用 GC.Collect NavigatedFrom 事件。

首先,我认为这可能是图像的原因,因此我从应用程序中删除了图像并进行了测试,但应用程序的内存使用情况仍然没有变化。不知何故,GC.Collect 无法正常工作并释放内存。

我已经尝试了下面提到的事情,但不幸的是我没有释放内存,而是结果保持不变。

  • 在设置新源之前,我已经将图像 urisource 设置为 null,然后调用 gc.Collect 来释放内存使用量,但它似乎并没有释放它

  • 其次,我已将所有对象设置为 null,并调用 GC.Collect(),但它仍然没有从手机应用程序的内存使用中释放空间。

  • 我也尝试使用内存分析器进行分析,但我无法跟踪任何东西。

我也浏览了所有帖子并实现了建议的内容,但 GC.Collect() 似乎没有释放内存。

是否有解决以下问题的方法。如何释放从一页导航到另一页时消耗的内存?

最佳答案

似乎有什么东西阻止了对象在某个循环中被垃圾收集器回收。这可能并且通常是由于某些事件处理程序未被删除,从而使对象保持事件状态。

如果页面或 View 模型中有任何事件,或页面中的任何对象,请在退出页面之前在 onNavigatedFrom 方法中将其删除 (-=) ...免费....

关于c# - Windows Phone 8 上的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18505730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com