ExtJs开发的程序在IE浏览器下的内存释放问题。
由于IE浏览器占用内存只增无减,所以打开ExtJS开发出来的程序,就感觉画面运行的特别卡。要用Extjs做大系统,不能不考虑这方面,使用chome浏览器可以解决内存问题,...
由于IE浏览器占用内存只增无减,所以打开ExtJS开发出来的程序,就感觉画面运行的特别卡。要用Extjs做大系统,不能不考虑这方面,使用chome浏览器可以解决内存问题,但你能强制互联网上的用户用chome吗?谁有办法解决ExtJs开发的程序在IE浏览器下的内存释放问题。答得好给加分~
展开
2个回答
展开全部
我的经验不多,不足之处望大家补充。
首先,IE对DOM的处理效率很低,而Ext3的控件dom嵌套了很多层,再加上控件的渲染方式可能不是最优的,所以渲染起来会卡。将要发布的Ext4.1经过整体重构,dom嵌套骤减,控件的渲染方式也经过了优化,所以渲染速度会有很大提升。这个只能等~~~
其次,内存释放需要注意以下几点:
1.window的销毁:如果创建window时不加renderTo, window会渲染到页面body中,如果自己不销毁的话会越积越多。
2.控件如果是渲染到dom元素上而不是Ext容器上,需要手动销毁。
3.创建出来的组件没被使用或没有渲染,也需要手动销毁。
4.自定义的组件如果还包含其他组件,需要自己实现销毁方法。
5.store用完以后需要销毁,可以直接用autoDestroy配置项。
其实js对象的销毁对速度影响不是特大,渲染才是大问题。保持一个干净dom比什么都强。
首先,IE对DOM的处理效率很低,而Ext3的控件dom嵌套了很多层,再加上控件的渲染方式可能不是最优的,所以渲染起来会卡。将要发布的Ext4.1经过整体重构,dom嵌套骤减,控件的渲染方式也经过了优化,所以渲染速度会有很大提升。这个只能等~~~
其次,内存释放需要注意以下几点:
1.window的销毁:如果创建window时不加renderTo, window会渲染到页面body中,如果自己不销毁的话会越积越多。
2.控件如果是渲染到dom元素上而不是Ext容器上,需要手动销毁。
3.创建出来的组件没被使用或没有渲染,也需要手动销毁。
4.自定义的组件如果还包含其他组件,需要自己实现销毁方法。
5.store用完以后需要销毁,可以直接用autoDestroy配置项。
其实js对象的销毁对速度影响不是特大,渲染才是大问题。保持一个干净dom比什么都强。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询