Android啟動(dòng)APP時(shí)黑屏白屏的解決方法
在開發(fā)中,我們?cè)趩?dòng)app的時(shí)候,屏幕會(huì)出現(xiàn)一段時(shí)間的白屏或者黑屏,不同設(shè)備時(shí)間長(zhǎng)短不同。很影響用戶體驗(yàn)。
首先分析一下,產(chǎn)生這個(gè)現(xiàn)象的原因,當(dāng)我們?cè)趩?dòng)一個(gè)應(yīng)用時(shí),系統(tǒng)會(huì)去檢查是否已經(jīng)存在這樣一個(gè)進(jìn)程,如果不存在,就是冷啟動(dòng)。系統(tǒng)和APP本身都有很多工作需要處理。首先系統(tǒng)的服務(wù)會(huì)先檢查startActivity中的intent的信息,然后在去創(chuàng)建進(jìn)程,最后才是執(zhí)行啟動(dòng)Acitivy的操作。而我們上面提到的顯示白黑屏的問題,就是在這段時(shí)間內(nèi)產(chǎn)生的。
系統(tǒng)在繪制頁(yè)面加載布局之前,首先會(huì)初始化窗口(Window),而在進(jìn)行這一步操作時(shí),系統(tǒng)會(huì)根據(jù)我們?cè)O(shè)置的Theme來指定它的Theme 主題顏色,Window 布局的頂層時(shí)DecorView,StartingWindow顯示一個(gè)空DecorView,我們?cè)赟tyle中的設(shè)置就決定了顯示的是白屏還是黑屏。
最簡(jiǎn)單的解決方法
既然黑白屏是根據(jù)我們?cè)O(shè)置的Theme來決定的,那我們就可以直接從啟動(dòng)頁(yè)的Theme入手,解決這個(gè)問題。
第一步:在style文件中定義如下
<!--***************啟動(dòng)頁(yè)Theme***************--> <style name="Theme.Splash" parent="Theme.AppCompat.Light.NoActionBar"> <item name="windowNoTitle">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowBackground">@drawable/splash_pic</item> <item name="android:windowFullscreen">true</item> </style>
第二步:在AndroidManifest中設(shè)置啟動(dòng)頁(yè)Theme
<activity
android:name=".ui.SplashActivity"
android:theme="@style/Theme.Splash"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
如上,我們給啟動(dòng)頁(yè)設(shè)置一個(gè)全屏的背景圖片,這樣就不用顯示默認(rèn)的主題顏色了。
按照以上配置,這樣就能避免白屏或者黑屏問題了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
android實(shí)現(xiàn)通知欄下載更新app示例
這篇文章主要介紹了android實(shí)現(xiàn)通知欄下載更新app示例,需要的朋友可以參考下2014-03-03
Android自定義可左右滑動(dòng)和點(diǎn)擊的折線圖
這篇文章主要為大家詳細(xì)介紹了Android自定義可左右滑動(dòng)和點(diǎn)擊的折線圖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
DataBinding onClick的七種點(diǎn)擊方式
這篇文章主要給大家介紹了關(guān)于DataBinding onClick的七種點(diǎn)擊方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Android自定義view實(shí)現(xiàn)輸入控件
這篇文章主要為大家詳細(xì)介紹了Android自定義view實(shí)現(xiàn)輸入控件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
Android ExpandableListView雙層嵌套實(shí)現(xiàn)三級(jí)樹形菜單
這篇文章主要介紹了Android ExpandableListView雙層嵌套實(shí)現(xiàn)三級(jí)樹形菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11

