安卓啟動時出現白屏,是因為在執行oncreate時占用了時間。而使用setcontentview又一定要放在oncreate中,setcontentview本身,就需要占用時間,所以這個白屏無法從根本上消除。
這個白屏是由activity的theme項來決定,學名preview,,消除的方法,是繼承系統給定的樣式,新增
<
item
name
=
"android:windowdisablepreview"
>true
禁用其預覽頁。。
當然,也可以通過
<
item
name
=
"android:windowbackground"
>
來指定顯示的背景頁。
全部繼承方式距離
<
style
name
=
parent
=
>
<
item
name
=
"android:windowdisablepreview"
>true
注意:如果通過windowsbackground設定背景圖後,在以後設計布局的時候,如果你沒有給某個區域指定背景色,那麼該區域預設透明,將會將背景圖透視到前台。
在補充幾個繼承或者自定義主題時有用的theme項,,(取自themes.xml)
// 背景圖
@android:drawable/dark
// 前景圖
@
null
// 是否展示標題
false
// 是否全屏
false
// 是否為懸浮窗
false
// 是否顯示使用者的桌布
false
// 動畫樣式(說白了就是activity切換的動畫)
// 讓背景透明,
// 在activity左右滑動時,劃出區域顯示下方的視窗
true
啟動APP時出現白屏問題
啟動app時出現白屏問題。最近發現app啟動時,會出現短暫的白屏,看了一下一些成熟的app並沒有這個情況。這裡記錄一下 首先,這是正常現象,因為當activity生命週期走到onresume 顯示介面時,我們的activity並沒有載入到布局資源 oncreate setcontentview r....
Android 冷啟動(所謂白屏)優化方案
在styles.xml中自定義乙個style stylename welcometheme parent itemname android windowbackground drawable welcomelaunch item 這裡是設定你想要顯示的 itemname android window...
Android 啟動白屏或者黑屏閃現解決
1 設定style 1 設定背景圖theme true 2 設定透明theme true 上面我定義了兩種theme,第一種theme就是設定一張背景圖。當程式啟動時,首先顯示這張背景圖,避免出現黑屏。第二種theme是把樣式設定為透明,程式啟動後不會黑屏而是整個透明了,等到介面初始化完才一次性顯示...