WPF/Silverlight深度解决方案:(八)誓将内存释放到底

WPF/Silverlight应用程序长时间运行后会产生非常多的内存垃圾(内存泄露例外),特别是在经常需要进行Remove操作的粒子、动画、游戏等方面的应用,国外高手们提出的方案我归纳了一下主要有:

1)  UIElement控件实例= null

2)  定时调用GC.Collect()

3)  让控件继承Idisposable接口,并实现相应逻辑

最后需要注意以下几点:
     1、有add,就要有remove
     2、有+=,就要有-=
     3、有start就要有stop
     4、注意使用最新版本的SDK、Tools、ToolKits、插件等,它们会不断修复内存泄露bug

5、比如在LayoutRoot.Children.Remove(UIElement)后,再执行UIElement= null,对于释放UIElement对象非常有效,屡试不爽(当前前提是这个UIElement内部所有对象都已释放依赖)。

作者: 深蓝色右手
出处: http://alamiye010.cnblogs.com/
本系列目录及源码下载: 点击进入( 欢迎加入WPF/Silverlight小组  WPF/Silverlight博客团队)
本文版权归作者和博客园共有,欢迎转载。但未经作者同意必须保留此段声明,且在文章页面显著位置给出原文连接,否则保留追究法律责任的权利。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值