我的Silverlight应用程序有很多页面,并使用导航服务在页面之间导航。其中一个页面从Web服务中获取大量(〜1G)数据。由于垃圾收集不会自动发生,因此当我回到上一页(主页)时,我需要清除在该页面中分配的内存。 我试着重写OnNavigatedFrom
方法,并尝试将对象引用分配给null,并强制通过GC.Collect()
执行垃圾回收。但内存没有被清除。我注意到,如果我刷新主页,内存就会急剧下降。如何以编程方式进行记忆清除。Silverlight:在导航到另一页面时清除未使用的内存
0
A
回答
3
手动调用CG.Collect
不是一个好主意,并且在任何情况下GC.Collect都不会帮助消除内存泄漏。标准CG行为可以免费使用内存。也许寻找内存不会自动释放的原因会在某处出现某些错误。
0
您将需要花费大量的时间跟踪内存泄漏,这可能是一个痛苦的过程。有一些很好的工具可以帮助你。
这里见我以前的帖子:Silverlight 4 memory leaks
0
一个我已清除内存的方法是重新加载页面,或有多个asp.net页面相同的应用程序跨度...
因此,不会导航,它会卸载应用程序(释放所有内存)并重新加载应用程序。我知道大师们会讨厌这个短视的答案,但这是我有效地获得内存转储的唯一途径。
一个例子是说你的应用程序是在default.aspx
和,而不是导航到类似default.aspx#control1
,你把相同的应用程序像control1.aspx
一个新的页面,并导航到control1.aspx#control1
。或者,您可以将应用程序分成多个应用程序,以便跨多个页面加载。
我注意到这方面的巨大收益。
相关问题
- 1. 在Silverlight中,如何启动/导航到另一个页面?
- 2. Silverlight页面导航?
- 3. 如何清除sessionStorage时导航到另一个页面,但不刷新?
- 4. 从Silverlight 4中的一个xaml页面导航到另一个xaml页面?
- 5. 从Silverlight accordionitem导航到另一个xaml页面
- 6. Silverlight的页面导航
- 7. 在xcode中从一个页面导航到另一个页面
- 8. 如何清除会话时,从一个页面导航
- 9. Flex导航到另一个Mxml页面?
- 10. MVVM Silverlight和页面导航
- 11. Silverlight动画页面导航
- 12. 从一个页面导航到另一个页面的选项
- 13. @Viewscoped bean在导航到另一页时未被破坏
- 14. ionic2在模式页面导航到另一个页面
- 15. 使用按钮导航到导航窗口中的另一页
- 16. jquery mobile导航到页面内页面
- 17. 为什么要从一个页面导航到另一个页面时删除页面的状态?
- 18. 如何导航一个xaml页面到另一个页面?
- 19. WinJS在当前页面保存更改,然后导航到另一个页面?
- 20. 导航到另一页OnNavigatedTo?
- 21. 如何使用HTML菜单从一个页面导航到另一个页面?
- 22. 使用导航时,将Silverlight中另一个页面的值传递给Silverlight的MainPage.xaml?
- 23. 在iPhone中清除内存中的可清除页面
- 24. 即使我们导航到另一页,自动页面刷新
- 25. 导航形式页面清除浏览器缓存
- 26. onclick图像导航到另一个页面使用Javascript
- 27. Monofor droid VS 2012使用按钮导航到另一个页面
- 28. 如何使用QMouseEvent qt事件导航到另一个页面
- 29. 使用反应从页面导航到另一个
- 30. 导航到另一个页面,点击图像使用Colorbox