【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

微软发布 3 个 WPF 内存泄漏补丁

  • 2010-06-18
  • 本文字数:535 字

    阅读完需:约 2 分钟

Windows Presentation Foundation 的内存泄漏问题可谓是家喻户晓。比如说,WPF 严重倚赖于弱引用来实现数据绑定技术。就像并发多线程一样,弱引用看似简单,但其实却很难用好。哪怕及时释放掉了实际的对象,但 WPF 的弱引用数组还是会继续持有引用,这就导致了内存泄漏。

在使用大量短暂生命周期的元素时这一点尤为明显。 KB981107 从 3 个地方来解决该问题。首先,如果引用了资源的控件从未使用过该资源的话,那么 WPF 就会导致应用级的样式与模板内存泄漏问题。 Jossef Goldberg 解释到

比如说:应用资源定义了 <sys:Double x:Key="{x:Static SystemParameters.HorizontalScrollBarHeightKey}">20</sys:Double>,这行语句所创建的资源可为任何控件所用,它会显示一个水平滚动条。如果创建了大量控件,但这些控件实际上又没有显示出滚动条则会导致内存泄漏。

该补丁还会解决大量短暂生命周期元素的属性绑定到了长期存活的对象上的情况。在短周期对象销毁后,长周期对象对短周期对象的弱引用依然会长久保留下来。

遗憾的是,KB981107 补丁还无法用于.NET 4.0,微软甚至还没有决定是否发布一个。另外两个补丁 KB967634 KB967328 则作为.NET 4.0 的一部分发布,因此.NET 4.0 的用户就无需下载这两个补丁了。

查看英文原文: Three Hotfixes for WPF Memory Leaks

2010-06-18 06:021845
用户头像

发布了 88 篇内容, 共 258.1 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

「架构师训练营」单例与组合模式的应用

Amy

极客大学架构师训练营 作业 第三周

Week3 - 总结

Coder

极客大学架构师训练营

架构师训练 - 第三周作业

X﹏X

游戏夜读 | 玩游戏能得到什么?

game1night

第3周学习总结

Glowry

极客大学架构师训练营

架构师训练营 Week 03 作业

Wancho

第三周总结

大雄

第三周作业

大雄

第三周-总结

铁血杰克

架构师训练营 -week3- 学习总结

晓-Michelle

极客大学架构师训练营

第三周学习总结

傻傻的帅

学习 设计思维

架构师训练营第三章作业

吴吴

第三周-作业

铁血杰克

GoF 23种设计模式之单例模式

无心水

架构师 单例模式 极客大学架构师训练营 GoF 23种设计模式

架构师训练营第 0 期第三周作业

无名氏

单例模式 组合模式

面试官:CAP都搞不清楚,别跟我说你懂微服务!

码农神说

分布式 漫画 CAP

本周学习总结

Geek_zhangjian

2020-06-20-第三周作业

路易斯李李李

架构师第三周作业

傻傻的帅

设计模式 极客大学架构师训练营

设计模式(Dessert)

鲁米

【架构训练 Week03 作业】

Rex

架构师训练营第 0 期第三周学习总结

无名氏

Java反射与内省(参考小米内部资料)

知春秋

Java 反射 内省

架构师训练营第三周作业

Java 极客大学架构师训练营

第二周

Geek_zhangjian

架构师的基本能力之代码重构

_MISSYOURLOVE

极客大学架构师训练营

手写

GAC·DU

第三周总结

小树林

架构师训练营第三章总结

吴吴

第三周作业一

潜默闻雨

week3

GAC·DU

微软发布3个WPF内存泄漏补丁_.NET_Jonathan Allen_InfoQ精选文章