这几天一直在学习PhoneGap的基本东西,就PhoneGap启动启动时候的黑屏等问题进行了一些实验,总结一下经过验
1大家有没有吧电脑上的浏览器设置为启动时候自动加载上次崩溃的页面或者上次没有关闭的页面?我测试觉得这种设置的启动速度慢,比直接启动浏览器再打开网页慢很多,尤其是火狐,启动时候在打开网页非常慢!
----每次启动PhoneGap就是启动浏览器在打开一个网页的过程,所以PhoneGap启动速度慢、黑屏是可以理解的
2PhoneGap 上的启动分3个阶段
阶段1 设备启动时间(黑屏的首要原因)
document.addEventListener("deviceready", yourCallbackFunction, false);
影响设备启动速度的原因有:1机子的配置,2页面静态html的体积,3引入css的体积,4引入js文件的体积
2页面载入时间(黑屏的次要原因)
$(document).ready(function(){
// 在这里写你的代码...
});
影响页面载入的速度的原因有:1页面html的体积,2js加载阻塞的等待时间
3自己的脚本初始化界面
自己的初始化业务逻辑,代码质量和业务复杂度
可见减少黑屏时间的主要方法是减少html的体积,减少css的体积,减少js的体积,合适的时候加载资源
所以在deviceready事件之前要尽可能少的载入html、js、css;
在deviceready事件之后,按需加载html、js、css,并根据需要,采用阻塞或非阻塞的方式加载js
在移动设备上资源按需载入要比pc上重要的多,RequireJS 是按需载入资源文件做的比较好的,而且相关的插件也比较多,堪比jquery,创建者还发明了AMD规范,以前一直以为amd只是处理器。。。
注意:RequireJS 模式载入js是 非阻塞、随机最快的载入方式(我感觉是随机最快。。。),如果需要排序载入,就需要调用他的order插件
http://requirejs.org/docs/1.0/ 1.0
http://requirejs.org/docs/1.0/docs/api.html#order order插件
个人推荐不错的移动端js Framework(http://app-framework-software.intel.com/index.php)
demoAPI 下载 http://vdisk.weibo.com/s/uOuKu
test