打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Openlaszlo应用初始化性能优化过程
在开发openlaszlo应用过程中,往往考虑的是功能是否能正常实现,除了遵守openlaszlo开发规范外,对性能方面考虑的比较少,但是随着应用规模的增加,到了后期测试的时候就会发现性能问题已经很严重了,这时要对系统进行性能调整,这是openlaszlo开发过程中不可缺少的一部分。 

下面以笔者开发的一个配置工具为例说明openlaslzo性能调优过程: 
(测试环境:赛扬2.42/1.5G RAM/winxp sp2/IE7) 

系统未优化前,初始化时间6.37秒(含debug窗口),主程序总共有10个对话框窗口(modaldialog),代码总行数近千行。 

第一阶段:初步优化 

1。将所有的modaldialog设置其initstage="defer" 
初步优化后初始化时间为2秒 

2。当主题数据取来后,进行初始化themetreedialog: 
canvas.themetreedialog.completeInstantiation(); 

3。在所有操作按钮上添加对应的窗口初始化声明: 
canvas.adddirdialog.completeInstantiation(); 
... 
4。窗口内打开过滤器设定窗口时,进行初始化: 
canvas.addconditiondialog.completeInstantiation(); 

5。单击表格行打开修改过滤窗口时,进行初始化: 
canvas.filterModWin.completeInstantiation(); 

优化结果: 
系统在2.09秒之内初始化完成(含debug窗口),不包括debug窗口的初始化时间与包括时非常接近,但是包含debug的swf文件尺寸要大142K。 

所有的窗口延迟初始化设置完成,进行测试发现,当对话框内容较少时,初始化过程非常短暂,但是过滤器设定窗口的初始化过程稍微长点在1秒左右,但是初始化一次以后,再打开就非常快,由此可见openlaszlo的初始化过程只进行一次,不会重复进行。 
此外,这种利用开启窗口的前夕来初始化对话框的方法还有局限性,如果窗口内容比较多,那么初始话 
过程足以造成相应迟钝,造成体验不好,还应该进行继续探索。 

第二阶段:深度优化 

经过仔细分析发现,在获取远程数据过程中有少许间隙时间,可以利用这个间隙来初始化比较大的modaldialog,选择其中一个只获取一次数据的dataset来初始化过滤器窗口,经过反复测量初始化时间,认定该步优化后的应用初始化时间与上一个过程时间一致。 
去掉原来加在按钮上的初始化过滤器窗口声明,完成整个优化过程。 

调整过程原则总结: 

1。当前不显示的窗口不在系统初始化时生成 
2。只在需要的时候才生成窗口或者视图 
3。充分利用事件进行completeInstantiation 
4。充分利用系统闲暇时间 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Java 性能优化技巧及实战
【这15个SQL优化技巧,能让你的性能提升10倍】
集算器性能优化场景
技术人员教你win7电脑性能如何优化?你的电脑是否运行很慢呢
“Python性能优化”讲稿分享
最后生还者重制版PC优化指南
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服