(暂时只列出优化后的测试数据)

===========================================
优化工作的目的:
(待补充)
===========================================
Ext 2.02 中 的缺陷:
(待补充)
===========================================
优化方案详述
(待补充)
===========================================
===========================================
此次测试 优化的内容点:

1 配置属性,关闭阴影效果
2 修改ext事件机制的缺陷
3 完善组件的销毁机制(目前只完善了部分组件)
window销毁机制
tree销毁机制


===========================================
测试环境

机器&OS : IE 6 , windows xp sp2 , 2G内存 , P4 3.0G
测试工具 : sIEve 0.80
测试示例 : 官方的 desktop 示例


以下数据为测试三次后的平均值, 其中内存采用的是近似值, 且所有数据都是在其相对稳定时记录下的.

数据为在测试工具内看到的情况,该工具可以比较客观的反映出在IE下页面内存的使用.
在windows的任务管理器内看到的IE占用的内存往往不准确,因为里面有大量的内存是IE本身占用的.
浏览器本身占用的内存是web开发人员不可控的.

例如打开同一个页面, IE安装的插件不同 IE的设置不同 都有可能导致内存的占用有很大的不同,
所以测试时,通过"windows的任务管理器"来查看内存的方法显然是不够客观和准确的.


(注: 空白页面在测试环境上, 通过测试工具查看, 内存的占用为 5M)
============================================================================
数据:

操作场景	使用中的dom节点数	孤立节点		内存


打开示例	52			1			18.9M

【 优化后 】	53			1			19.0M



打开 
accordion 
window		282			2			23.3M

【 优化后 】	282			2			22.2M



关闭 
accordion 
window		132			132-52=80		24.0M

【 优化后 】	63			65-53=12		22.5M



2次打开
accordion 
window		359			80			26.0M

【 优化后 】	291			80			23.0M



2次关闭
accordion 
window		207			207-52=155		26.3M

【 优化后 】	71			71-52=19		22.0M



============================================================================
进行较复杂操作,持续操作1分钟左右.操作内容包括:

打开grid window
打开 accordion window
对两个窗口进行切换 拖拽 缩放
查看列表的菜单 对列表数据进行排序
对accordion内的树进行刷新 折叠 展开 等操作

最后关闭所有打开的窗口. 然后记录数据:

-------------------------------------
使用中的dom节点数		内存

优化前		329		40.6M
【 优化后 】	207		27.2M



===========================================
windows 和 IE 内存管理机制简述:
(待补充)

===========================================
总结
(待补充)

===========================================
评论
zaneqian 2008-04-16
目前看到一篇在iframe内注入父页面js和css的文档,有些地方没看明白,也就是只需load一次公共的诸如ext-all.js等文件,无需再子iframe的html中再次装载

<textarea id="StyleProxy" style="display:none;visibility:hidden;">
// CSS loaded inline here
</textarea>
<script type="text/javascript">
document.write(['<style type="text/css">',document.getElementById('StyleProxy').innerHTML,'</style>'].join('r'));
</script>

<script type="text/javascript" id="ScriptProxy">
// JavaScript loaded inline here
</script>

<script type="text/javascript">
// define the variables for storing the JavaScript and CSS
var _SCRIPTS = null;
var _STYLES = null;

// use jQuery to run the JS once HTML is loaded
$(document).ready( function()
{
// place the JavaScript and CSS into the variables for reuse
top.window._SCRIPTS = Ext.get("ScriptProxy").dom.innerHTML.toString();
top.window._STYLES = Ext.get("StyleProxy").dom.innerHTML.toString();

// create an iframe and add to the DOM
// this should be always be done after the variables
// for the JS and CSS are filled
$main_container = Ext.get("iframe_main_container");
var $iframe_nav = Ext.DomHelper.append (
$main_container, {
tag: "iframe",
id: "iframeMain",
name: "iframeMain",
width: "100%",
height: "100%",
frameborder: "no",
scrolling: "no",
src: "ext_demo_iframe1.htm"
}
);
})
</script>
在上述代码段中“// CSS loaded inline here
”和“// JavaScript loaded inline here
”不知道如何具体实现

http://matthew.delmarters.com/weblog/injecting-javascript-and-css-into-iframes/#comment-64462
xfan1982 2008-03-29
非常好,能讲讲是怎么优化的吗
庄严 2008-03-29
好啊,小胖做的工作很好
fins 2008-03-28
见:

http://fins.javaeye.com/blog/159986#comments
mmmagice 2008-03-28
问个题外话啊,GT-GRID 什么时候发布呢?
发表评论

您还没有登录,请登录后发表评论

fins
  • 浏览: 655264 次
  • 性别: Icon_minigender_1
  • 来自: 小胖儿的大城
  • 详细资料
搜索本博客
我的相册
69145ecd-632e-3792-b226-a0d249be96c1-thumb
chinamap
共 61 张
其他分类
存档
最新评论