众所周知,有了Ext,让我们省去了美工。可今天上午有客户突然反应说我们产品占用浏览器资源相当高,一个页面甚至达到了300MB-1000MB,直到内存满。开始我以为是浏览器之前访问过别的页面,资源没及时释放,可后来自己进去测试后,发现每点击一个使用Ext实现的窗口时,内存占用量都会增加50M,当时就惊叹的对自己说到:“不至于吧“。
发现问题后开始分析,第一步开始从页面上找原因,因为首页是属于文章展示页面,所以内容比较多,开始怀疑是这个地方导致ext出现问题。于事我找了一个页面信息非常少的页面开始测试,发现点击跟Ext相关窗口内存占用量很小了。后面的具体分析与考察很复杂并猜测了很久,我就不啰嗦了,说一下最终找到的原因。
如果用过ext的朋友应该都清楚,ext的Ext.Window有一个属性modal,可以设定窗体为模式窗口。其效果是除窗口外背景全部变为暗色,然后其他区域不能操作,只能操作显示出的window。正因为这个属性,导致每出一个窗口内存都暴增50M,甚至更高。于事自己做了个试验,找了一个页面什么内容都都没,只有一个按钮,点击就显示Ext.Window对象,然后页面上写了无数的换行标签”<br>“,目的是让页面比较长。结果惊人的结果出现了,每次show出一个window,都会占用100多M内存,换行标签越多,也就是页面越长,占用内存量就越大,而且还连续积累,不会释放,直到内存太多的时候那个特效也就会出错。
总结出来就一句话:”页面区域越大,使用模式窗口占用的内存就越多。“,如果没发现的朋友,请谨慎使用,现在我把项目所有ext特效的modal属性都设为false后全好了。这应该也是ext的一个bug吧,我测试用的是ext2.2,希望下一版本能够解决。
下面我贴出我试验时的demo,大家自己跑起来看看。
http://files.cnblogs.com/dirain/extjs-bug.rar
分享到:
相关推荐
window.name解决跨域问题的文档,刚才网上发现的.也许有点作用
将下面的 modal.wxml 、modal.wxss 、modal.js 、modal.json 四个文件复制到对应位置即可。 封装完之后调用起来也很简单,看看调用的代码吧 <modal show={{showModal}} height='60%' bindcancel=modalCancel bin
Modal Logic Patrick Blackburn patrick@coli.uni-sb.de Maarten de Rijke mdr@wins.uva.nl Yde Venema yde@wins.uva.nl
jQuery弹窗插件Modal.js是一款适用于网站重要的公告信息弹窗提示代码。
结构特性分析,不仅可以用有限元来完成,用数值计算软件也可以完成
Temporal Rough Logic is a combination of both Normal and Temporal Modal Logics. TRL formulas are interpreted over Dynamic Approximation Spaces. For checking validiy in TRL a Prefixed Tableaux System ...
MinkowskiMethod算法 ,数据模型归一化,模态振动,能量谱分析计算。
三维结构模态分析程序,得到结构的振型和频率。
对无阻尼多自由度振动系统的模态分析(源代码为三自由度),可通过更改质量矩阵和刚度矩阵得到自己想要的振动系统。pdf为Matlab处理震动信息的英文教程
2个步骤,第一步:xml里填写需要生成dao、mapper、实体类的表名 第二步:双击bat 傻瓜式操作,第一次接触mybastic的完全能操作,xml里每个配置都有注解
这是一个在DialogBox中使用View试图的例子,我们大多试过在具有View视图的窗体中建立模态/非模态的对话框,但你可曾想过在对话框中使用View视图?希望这个例子可以给你启发.
仿Nifty Modal Window Effects挺好看的dialog,原版的只有Android studio版本的,我另外做成了eclipse版本的上传供大家参考
针对window.showmodaldialog弹出窗体无刷新的详细使用
ARMA模态参数识别,振动信号处理应用与研究,应用MATLAB编程实现模态参数提取研究
英国帝国理工,D J Ewins 教授关于模态测试的经典之作。前两章讲模态理论,接着讲数据采集,模态参数估计。振动专业学生必读。
This is a `window.showModalDialog()` shim using a modal HTML5 `<dialog>` element and ECMAScript 6 Generators. It was tested in the latest Google Chrome with the *Enable Experimental JavaScript* flag ...
为了更好地处理复杂的角度应用程序中的模态,我制作了一个组件,该组件包装了ui.bootstrap.modal的功能,并使用更多可用的方法对其进行了扩展。 这由提供程序和两个指令组成。版本号bolzaModal遵循并使用以下版本...
jquery.modaldialog.1.0.0.zip_JQuery模式窗体例子
CheckBox(复选框)主要用来接收用户选择的选项 如图所示(请忽略UI的不好看): 该弹出窗口的主要代码如下: 代码如下: var win = new Ext.Window({ modal : true, title : ‘确定要拒绝该表吗?’, width : 500, ...
基础的功能都有了 完成的模块在系统设置大类中 实现了以下功能: 布局,动态树,动态菜单,grid,新增,编辑,删除,openflashchart的报表控件 文件批量上传,excel的上传解析,下载,comboboxTree,选择泡泡等 基本...