解決Android應(yīng)用冷啟動時出現(xiàn)的白屏問題的方法
Android 應(yīng)用冷啟動時,需要從Application開始啟動,加載時間就會比較長,容易出現(xiàn)白色或黑色閃屏,觀察一下手機上一些 其他APP 比如 微信、京東等就不存在這個現(xiàn)象。
原因分析
分析一下原因,其實是跟閃屏Activity的主題有關(guān),比如使用了Theme.AppCompat.Light.DarkActionBar主題的話,其中指定了windowBackground,所以背景就是白色的了。
<itemname="android:windowBackground">@color/background_material_light</item>
解決方案
設(shè)置Theme
我們需要在 manifest指定SplashActivity的theme
<activity android:name=".SplashActivity" android:theme="@style/AppTheme.Splash"> ... </activity>
設(shè)置 Style 背景圖片
<style name="AppTheme.Splash" parent="AppTheme"> <item name="android:windowBackground">@mipmap/splash</item> <item name="android:windowNoTitle">true</item> </style>
這個style只是用來做閃屏的主題,APP的默認主題還是使用AppTheme
這種設(shè)置后默認先是出現(xiàn)APP內(nèi)置的閃屏圖片,然后在SplashActivity中再動態(tài)加載在線閃屏,最后進入主界面。最終實現(xiàn)效果與京東的APP類似。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android基于OpenGL在GLSurfaceView上繪制三角形及使用投影和相機視圖方法示例
這篇文章主要介紹了Android基于OpenGL在GLSurfaceView上繪制三角形及使用投影和相機視圖方法,結(jié)合實例形式分析了Android基于OpenGL的圖形繪制技巧,需要的朋友可以參考下2016-10-10
Android SurfaceView與TextureView使用方法詳細講解
SurfaceView和TextureView都繼承View,與普通的View不同的是,它倆可以在獨立線程中繪制渲染,性能更高,所以常被應(yīng)用在對繪制速率要求比較高的場景,比如相機預(yù)覽,視頻播放等等2022-10-10
Android系統(tǒng)進程間通信(IPC)機制Binder中的Server和Client獲得Service Manager接
本文主要介紹Android IPC通信Binder中的Server和Client獲得Service Manager接口,這里詳細的說明了如何實現(xiàn)Service Manager接口,對研究Android源碼的朋友提供幫助,有需要的小伙伴可以參考下2016-08-08
Android游戲之?dāng)?shù)獨游戲開發(fā)
這篇文章主要為大家詳細介紹了Android游戲之?dāng)?shù)獨游戲開發(fā)的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12
深入Android HandlerThread 使用及其源碼完全解析
這篇文章主要介紹了深入Android HandlerThread 使用及其源碼完全解析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08

