写点什么

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

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

关注

评论

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

Util应用框架平台概述

何镇汐

C# 开源 后端 软件开发

INFINI Labs 产品更新 | Agent 全新重构,优化指标采集,支持集中配置管理,支持动态下发等功能

极限实验室

console agent loadgen INFINI Labs 极限科技

如何将极狐GitLab 漏洞报告导出为 HTML 或 PDF 格式或导出到 Jira

极狐GitLab

gitlab 安全 bug Jira 漏洞检测

制造行业数字化运维破局之道

云智慧AIOps社区

提升团队合作效率,这10款可视化协作软件值得拥有!

彭宏豪95

团队协作 软件推荐 科技 在线白板 协同办公软件

Util应用框架前端概述

何镇汐

C# 开源 后端 软件开发

第25期 | GPTSecurity周报

云起无垠

SRM招标采购系统:功能详解及源码获取

金陵老街

原来你是这样的英特尔:全面解读英特尔产业故事

E科讯

免费算力部署ChatGLM3-6B大语言模型

打工人!

大模型

什么是Vim,Vim安装

芯动大师

百万人才补贴!2024年国家级人才工程引进申报,入选资格保留2年

科兴未来News

人才补贴 海外博士 人才引进 回国发展

火热的低代码平台

树上有只程序猿

低代码平台

AIGC | 如何用“Flow”,轻松解决复杂业务问题

极光JIGUANG

Vert.x 教程 (三):Vertx 应用的Operation

Kevin_913

Python 包管理器入门指南

小万哥

Python 程序员 软件 后端 开发

突破性的多语言代码大模型基CodeShell:引领AI编程新时代

汀丶人工智能

人工智能 自然语言处理 多模态大模型

强大日志查看器,助力数据联动分析

观测云

数据分析 日志分析 关联分析

云智慧联合北航提出智能运维(AIOps)大语言模型及评测基准

云智慧AIOps社区

大模型 人工智能「 运维‘ LLM模型

朝夕光年游戏高光全套解决方案

字节跳动技术范儿

字节跳动 游戏开发

从科幻走向现实,LLM Agent 做到哪一步了?

Zilliz

倒计时丨距离RestCloud新品发布仅有6天!

RestCloud

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