這幾天一直在學習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
