ExtJs发布大量内存泄露的解决办法

213 篇文章 0 订阅
192 篇文章 0 订阅

代表EXT团队,我非常高兴地宣布的 Ext JS 3.1的最终版本正式发布。在这个版本中,我们再次承诺会让EXT JS 的功能和性能都变得更好。你可以在下载页面看到一个完整的变更和联机日志文件。

Internet Explorer 内存优化

单页的,组合的,web应用程序已经越来越较为普遍,在所有浏览器上的内存管理器已成为一个至关重要的问题。在EXT JS 3.1中,我们已应用了很多内存泄漏的解决方法--最为显著的就是IE6 +。

DOM 泄漏
DOM引用泄漏是应用程序的最大的性能障碍之一。EXT JS 3.1经过了大量的重构,以确保无论在EXT JS还是在EXT Core中都可以正常删除所有组件的DOM引用。其结果是在IE中删除元素时几乎所有孤节点将一并删除。

JScript 引擎泄漏
最令人惊讶的是,即使是最简单的Javascipt对象也有泄露,IE8也有这一个问题.当前所有的IE版本对Javascipt对象都不能很好地执行,长期驻留和经常使用对象缓存,导致了大量的内存泄漏.IE9或许会解决这一个问题.但在此期间,3.1 捕获了一个统一的元素缓存解决办法:就是在IE 中刷新garbageCollection。在我们的某些测试中,长期运行的单页应用程序获得了50倍的内存减少。

优化布局
在3.0中的为了方便复杂的动态界面布局,许多"组件"转变为"容器"。在3.1中,我们重新回到性能优化过程中来,我们尽可能的去掉多余的布局计算.我们现在还暂停了改变"子容器"大小的布局过程,直到完全可以防止可能发生的“布局风暴”。在3.1中,销毁一个组件必须还要从它的容器中移除,大大提高优化了正在执行的其他功能的性能。

EventManager重构
EventManager和基本的核心适配器都经过了全面的代码重构,清除了重复和效率低下的代码。旧的事件缓存机制已全面调整以提供更快速和更一致的体验。对于复杂的容器,这个改变会导致一个数量级响应时间的改善。当元素和组件正在被删除时,通过缓冲和推迟事件来阻止外来的活动破坏正在执行的组成部分。

提高灵活性
当EXT Core在3.0迁移到自己的库的时候,有许多的Core难以扩展其私有方法.Ext社区要求提高灵活性,我们在3.1版本中会有更多的方法开放它的原型方法.
Ext.each 也大部分是从内部代码库而来,其结果是在许多共同的任务中性能都提高了。

新的组件
虽然3.1的性能已大幅改善,但我们仍然喜欢发布我们最新的视觉创作。以下是3.1默认包含的一些我们最受欢迎的组件和增强的功能:

新TreeGrid扩展

锁定Grid列

Grid列分组插件

总结
3.1,我们采取了许多优化算法,以提高IE的支持,整体性能,并引入了新的功能。我们认为这些增强功能将大大提高用户的生产力,同时支持更快,更可靠的应用程序。我们仍然在为"EXT 设计器"努力工作,我们希望在未来数个月内可以跟大家见面。请您尽快更新您的EXT版本,并看看它给我们带来了哪些新特性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值