我正在开发一个windows 8本地应用程序。我的应用程序在应用程序中来回运行一段时间后会崩溃。在分析中,使用内存分析器,我发现每次从一个页面导航到另一个页面时,内存使用量都会增加,尽管我将list、webclient、string等所有对象设置为null,并在NavigatedFrom事件之后调用NavigatedFrom。
首先,我认为这将是由于图像,因此我删除了图像从应用程序和测试,但仍然没有改变的内存使用的应用。不知怎么的,GC.Collect没有工作并释放内存。
我试过了下面提到的事情,但不幸的是,我的坏运气不是为了释放记忆,而是结果还是一样的。
我还浏览了所有的帖子并实现了建议的内容,但是GC.Collect()似乎并没有释放内存。
下面的issue.How是否有任何工作可以释放在从一个页面导航到另一个页面时所消耗的内存?
发布于 2013-08-29 08:41:34
似乎有些东西在某种程度上阻止了垃圾收集器在某个循环中回收对象。这可能是,而且通常是,因为某些事件处理程序未被移除,从而使对象处于活动状态。
如果页面或视图模型中有任何事件,或页面中的任何对象,则在退出页面之前,在onNavigatedFrom方法中删除它(OnNavigatedFrom).这也许能让你的页面内存自由.
https://stackoverflow.com/questions/18505730
复制相似问题