windows phone 8内存泄漏
本文关键字:泄漏 内存 phone windows | 更新日期: 2023-09-27 18:29:23
我正在开发一个windows 8 Native应用程序。我的应用程序在应用程序中来回运行了一段时间后崩溃了。在Analysis上,使用内存探查器,我发现每次从一个页面导航到另一个页面时,内存使用量都会增加,尽管我将列表、Web客户端、字符串等的所有对象都设置为null,然后在NavigatedFrom事件上调用GC.Collect。
首先,我认为这是由于图像,因此我从应用程序中删除了图像并进行了测试,但应用程序的内存使用率仍然没有变化。不知怎么的,GC.Collect无法工作,无法释放内存。
我试过下面提到的东西,但运气不好,没有释放内存,结果还是一样。
-
在设置新的源之前,我已经将图像urisource设置为null,然后调用gc。收集以释放内存使用,但它似乎没有释放
-
其次,我已经将所有对象设置为null,并调用GC.Collect(),但它仍然没有从手机应用程序的内存使用中释放空间。
-
我还尝试使用内存探查器进行分析,但无法跟踪任何内容。
我也浏览了所有的帖子,并实现了建议的内容,但GC.Collect()似乎没有释放内存。
下面的问题有什么解决办法吗。如何释放从一个页面导航到另一个页面所消耗的内存?
似乎有什么东西阻止垃圾收集器在某个循环中回收对象。这可能是,通常也是,由于一些事件处理程序没有被删除,从而使对象保持活动状态。
如果页面或视图模型中有任何事件,或页面中有任何对象,请在退出页面之前,在onNavigatedFrom方法中将其删除(==)。。。这可能会奏效,你的页面内存是免费的。。。。