問題描述:
在ionic2下創建的項目打包生成apk,運行在真機上,進入啟動頁然后有5秒左右的白屏情況才進入首頁,在真實項目中更嚴重,啟動畫面后更有時候十幾秒都是白屏,體驗性非常差。
在各種搜索之下,我只找到了這個解決方案,就是將啟動畫面延長。
1.添加 cordova-plugin-splashscreen 插件 並查看是否添加成功
cordova plugin add cordova-plugin-splashscreen //添加 cordova-plugin-splashscreen 插件
cordova plugin list //查看項目有什么插件
//cordova-plugin-splashscreen 插件更多詳細信息以及說明可以到看這里→ https://github.com/apache/cordova-plugin-splashscreen
//更多關於cordova的基本命令已經如何添加已經刪除插件請看這里→http://www.cnblogs.com/huangenai/p/6840333.html
2.修改config.xml 配置
打開config.xml 可以看到他最初config.xml配置。
AutoHideSplashScreen 是否自動隱藏啟動畫面,默認是為true,在這里我們設置未false。
<preference name="AutoHideSplashScreen" value="false" />
SplashScreenDelay 自動隱藏閃屏之前等待的時間(毫秒)(默認為3000)。在這里我將它延長改為6000。
<preference name="SplashScreenDelay" value="6000"/>
ShowSplashScreenSpinner,默認為true ,在這里設置未false,設置為false為隱藏閃屏。
<preference name="ShowSplashScreenSpinner" value="false"/>
FadeSplashScreen 默認未true。設置為false,以防止閃屏在其顯示狀態更改時進入和退出。
<preference name="FadeSplashScreen" value="false"/>
將初始的配置那三行刪掉我們將下面的復制進去
<preference name="SplashShowOnlyFirstTime" value="false"/> <preference name="SplashScreen" value="screen"/> <preference name="SplashScreenDelay" value="6000"/> <preference name="AutoHideSplashScreen" value="false" /> <preference name="ShowSplashScreenSpinner" value="false"/> <preference name="FadeSplashScreen" value="false"/> <preference name="ShowSplashScreen" value="true"/>
然后在命令提示符里輸入 后回車重新編譯一下。
cordova build android
在這個目錄下 src/app 打開app.component.ts 中有來確保是否又這段代碼
platform.ready().then(() => {
Splashscreen.hide();//啟動后關閉splashscreen頁面(不用設置)
});
android studio 重新跑一次,在真機上就不會出現開機會有一個圓圈一直轉圈了,也不會出現開機啟動畫面后出現白屏的情況。
3.關於app啟動慢的問題
雖然解決了啟動出現白屏的問題。可是開機而然很慢。
使用ionic build android 生成的apk啟動時間比較長,可以使用ionic build android --prod 來生成的apk啟動時間會相對來說快一點。
2017-09-13 08:15 新增:
后面在新建的ionic3項目,相對ionic2來說啟動已經快了很多了。