我正在使用Sencha touch 2.4的IBM Worklight 7.0混合移动应用程序。它最初需要太多的时间来加载。当使用chrome开发人员工具监控时,应用程序的网络负载显示大约10秒的空闲时间。
要缩短应用程序加载时间,可以做以下几件事:
- 如果应用程序启动时不需要连接到服务器
- 使用最小化和连接来通过使应用程序"更小"来减少网络负载
- 确保你没有在你的项目中添加你实际上没有使用的东西
加载的初始延迟可能是由于必须解析和渲染相当大的app.css(大约1.2 MB)。
Sencha博客中也提到了相同的查询和解决方案。
添加到@IdanAdar答案:
不知道你是否在使用Sencha CMD,但听起来不像你。
在终端或同等Windows中:
$ cd to/your/project/directory
$ sencha app build build # runs a build, warns about errors
$ sencha app build testing # combines js files but not uglified
$ sencha app build production # minifies project
这将在您的项目中创建一个build
文件夹,其中包含每种构建的可部署版本(如果您已经运行该命令)。
MyProject/构建/生产/MyApp
编辑:在app.js中有一个
Ext.application ({
name: 'MyApp',
requires: [
// Are you loading everything here?
// If you have framework classes that are not
// in your initial views you could move them
// to a subview in.. requires: ['Ext.field.CheckBox','Ext.etc']
],
models: [...],
stores: [...],
// Are you loading all of your views here?
// If you can get away with loading nested views try that.
views: [
'Main'
],
controllers: [...],
icon: {...},
isIconPrecomposed: true,
startupImage: {...},
launch: function() {
Ext.create('IntakEase.view.Main', {fullscreen: true});
}
还有很多其他可能的事情。
你正在加载任何外部类吗?