android activtiy 啟動白屏原因還有解決方法
阿新 • • 發佈:2019-01-08
在啟動android 程式的時候,經常會遇到啟動的時候螢幕會顯示白色的內容,原因是:
Android中Activity啟動的時候實際上建立了兩個Window物件,第一個叫做PreviewWindow,是為了避免真正的視窗沒有及時加載出來,但是又不想讓使用者等待才引入了這個window,這個window什麼也不做,只是顯示一個背景圖,當你的activity載入很慢的時候就會顯示這個window物件,所以你會感覺有一個黑屏或者白屏的過程,第二個才是真正的你的Activity的Window物件。activity在執行setcontentview()以前,都是顯示的PreviewWindow,當你的layout載入完畢,才會顯示你的layout的介面。
解決方法:
在主題中設定windowBackground,這個背景將被同時用在啟動時的兩個window物件上,這樣一來previewWindow顯示的時候就會直接顯示你的背景圖,會給人一種啟動很快的感覺。但是這樣會感覺載入不同步的感覺。
去掉previewWindow:在主題中加入
<item name="android:windowDisablePreview">true</item>
但是這樣你的程式必須載入速度夠快,否則會有一種反應過慢的感覺。