Extjs 性能降低的可能原因
见天终于找出一个问题,我们的应用要打开一个Ext.Window窗口,然后可以关闭它再打开。问题是,第一次打开很好,速度不错,再以后打开就非常慢,有时甚至达到5秒以上的延迟。由于系统比较复杂,开始一直找的是网络问题,服务端调用问题,后来发现不是这些原因,而是Extjs绘制很慢。
逐个排除,发现是多了这么一句话 renderTo: document.body,
这样导致在调用show之前就绘制了一次,然后show又绘制了一次。后来发信这个问题别人也遇到过了。
http://blog.csdn.net/tianxiaode/article/details/6525486
另外一个问题是,有个Ext.window里面有个很大的dom元素,我们发现使用hide(),show()方法显示比较卡,有时甚至几秒钟。我们的解决方法是,要隐藏时将这个window位置设置到用户看不到的地方,要显示时再把它移回来。这样明显速度快多了。发现Extjs本身就是使用这种方式来显示隐藏对话框的。看来这确实是个问题。
现在看来,Extjs使用还真得小心,你说C容易内存泄露,Extjs也会。如果不注意尾巴的话,你打开dom树,就会发现一堆垃圾在那没回收,到后来就是越来越慢。
--如果给我一个美工,我将丢弃Extjs。