写点什么

微软发布 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:021980
用户头像

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

关注

评论

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

虎年就要玩虎符 春节就要瓜分虎符虎年大礼包

区块链前沿News

Hoo虎符 Hoo 虎年 春节活动

建一座国际连锁「商场」:openEuler 的雄心与蓝图 | 开源访谈《源创者说》首播

科技热闻

(1-24/24)awesome「结构」

mtfelix

300天创作 2022Y300P

架构训练营 week8 作业

红莲疾风

「架构实战营」

【笔记】学《郭东白的架构课》:访谈|对话于冰(上)

术子米德

架构师成长笔记

ReactNative进阶(四十):应用 ListView 实现分组列表

No Silver Bullet

ListView React Native 1月月更

建木持续集成平台v2.2.1发布

Jianmu

DevOps 持续集成 CI/CD

Go 语言快速入门指南:Go 实现简易Web应用

宇宙之一粟

Go web服务器 Go 语言 1月月更

拆分电商系统为微服务

tony

快递,菜鸟驿站,直播购物:老年人的电商之墙

脑极体

双龙贺岁,龙蜥 LoongArch GA 版正式发布

OpenAnolis小助手

Linux 开源 新年

在线时间戳计算时间差

入门小站

工具

ReactNative进阶(四十二):面试必备:2022 ReactNative 经典面试题总结(含答案)

No Silver Bullet

面试题 1月月更 ReactNative

【笔记】学《郭东白的架构课》:访谈|对话于冰(中)

术子米德

架构师成长笔记

第六节:SpingBoot基本配置一

入门小站

springboot java

Microchip发布具有强大编程和调试功能的新型在线仿真器(ICE)

Geek_2d6073

如何系统分析项目的干系人?

石云升

项目管理 1月月更

Hoo虎符研究院 | 币圈后浪 BreederDAO区块链游戏的NFT工厂

区块链前沿News

虎符 Hoo 虎符交易所

并发不是并行

en

再见,Microsoft Academic——你好,开放式研究基础设施?

吴脑的键客

搜索引擎

Spark合并Iceberg小文件内存溢出问题定位和解决方案

漫长的白日梦

spark iceberg 小文件

ReactNative进阶(四十一):应用 FlatList 实现分组列表

No Silver Bullet

1月月更 ReactNative FlatList

openLooKeng算子接口和执行流程

openLooKeng

【笔记】学《郭东白的架构课》:访谈|对话于冰(下)

术子米德

架构师成长笔记

模块六作业

黄秀明

「架构实战营」

LabVIEW播放提示声音或者音乐

不脱发的程序猿

LabVIEW 播放提示声音或者音乐

模块六 - 电商系统微服务设计

圈圈gor

架构实战营 「架构实战营」

openLooKeng助力中移在线获“ICT优秀案例”

openLooKeng

电商系统微服务化

皓月

「架构实战营」

如何写好一个Java方法?

蜜糖的代码注释

Java 后端开发 写好代码

使用Cloud Application Programming模型开发OData的一个实际例子

汪子熙

API abap Cloud Studio 1月月更

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