微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

系统优化之Dojo优化策略--页面加载机制优化

着Dojo的名声越来越大,更多的开发者选择使用Dojo作为前端开发的框架。虽然Dojo是一种异步框架,能够借助各种ContentPane快速的搭建起开发框架,并实现异步通信,但有时一个模块包含的内容过多,造成此页面内容过多,打开该页时就会导致内存飙升,长时间没有响应等问题。下图所示为一业务模块的页面结构图。

Dojo页面框架

在View区域中,包含了多个Widget。其中View区域是指代Dojo中的StackContainer,而Widget则是Dojo中的ContentPane。每个StackContainer可以包含多个ContentPane,并且可以通过selectChild方法指定当前显示的Widget(也就是ContentPane中的内容)。
虽然Dojo采用StackContainer动态指定当前的ContentPane来实现页面的“异步”,但是由于其 加载机制是在首次打开该页面时,一次性加载完全部资源,再通过控制每个ContentPane的显示和隐藏,来达到动态显示效果。这样导致系统在首次打开此页面时,一次加载资源过多,系统长时间没有响应等问题,大大降低了用户体验。
解决此问题,我们需要更改页面的加载逻辑,将原来的“ 饥饿式”加载,更改为“ 按需式”加载。那么我们应该如何操作呢?由于我们已经按照系统的业务逻辑将系统进行了模块划分,这大大简化了我们的操作步骤。我们仍然需要这些Widget作为独立的模块应用,并在系统初始化时将它们注册为组件。当我们需要打开一个业务模块时,只需要实例化特定的业务模块(Widget)就可以了,这样将系统资源加载的时间平均分配到各个模块中,就避免了一次性加载资源所产生的问题。
以上仅是Dojo可优化内容之一,如果你还想了解Dojo其它方面可优化的内容,欢迎留言,我们共同探讨并改进原来的方案,让Dojo变的越来越灵活,越来越好用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐