1. 程式人生 > >解決Android App第一次啟動時顯示白屏或者黑屏的問題

解決Android App第一次啟動時顯示白屏或者黑屏的問題

關於這個問題,首先得搞清楚一個概念,冷啟動,所謂冷啟動是指手指點下啟動圖示到第一個Activity介面呼叫onCreat方法之間的這段時間;那麼在這一段時間內究竟是如何操作的?發生了什麼導致白屏或者黑屏一段時間呢?
因為App在啟動的時候會啟動一個程序,在初始化的過程中,會消耗一部分時間,在這個時間裡面WindowManager會先載入App裡的主題樣式裡的視窗背景(windowBackground)預覽,然後才去真正的載入佈局,在這個時間裡面因為預設的背景是白色或者黑色,所以會看到上面所述現象,要解決有兩種方式
① 先在style.xml裡面寫對應的樣式程式碼AppWelcome,把windowBackground替換成應用啟動的第一個介面(此處的launch是我應用啟動的第一張圖片)
<style name="AppWelcome" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/launch</item>
</style>


然後在AndroidManifest.xml裡面找到啟動的Activity,在標籤裡面配置剛才的AppWelcome樣式,android:theme="@style/AppWelcome"就可以了
② 第二種是把背景設定成透明的,具體樣式<style name="AppWelcome" parent="android:Theme.Translucent.NoTitleBar.Fullscreen"/> 但是這樣的效果會讓人感覺啟動慢、手機反應遲鈍,不建議這樣做,而且有問題,會報錯
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.