Android啟動(dòng)APP時(shí)黑屏白屏的解決方法
在開發(fā)中,我們?cè)趩?dòng)app的時(shí)候,屏幕會(huì)出現(xiàn)一段時(shí)間的白屏或者黑屏,不同設(shè)備時(shí)間長短不同。很影響用戶體驗(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)在繪制頁面加載布局之前,首先會(huì)初始化窗口(Window),而在進(jìn)行這一步操作時(shí),系統(tǒng)會(huì)根據(jù)我們?cè)O(shè)置的Theme來指定它的Theme 主題顏色,Window 布局的頂層時(shí)DecorView,StartingWindow顯示一個(gè)空DecorView,我們?cè)赟tyle中的設(shè)置就決定了顯示的是白屏還是黑屏。
最簡單的解決方法
既然黑白屏是根據(jù)我們?cè)O(shè)置的Theme來決定的,那我們就可以直接從啟動(dòng)頁的Theme入手,解決這個(gè)問題。
第一步:在style文件中定義如下
<!--***************啟動(dòng)頁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)頁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)頁設(shè)置一個(gè)全屏的背景圖片,這樣就不用顯示默認(rèn)的主題顏色了。
按照以上配置,這樣就能避免白屏或者黑屏問題了。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于Android實(shí)現(xiàn)點(diǎn)擊某個(gè)按鈕讓菜單選項(xiàng)從按鈕周圍指定位置彈出
這篇文章主要介紹了基于Android實(shí)現(xiàn)點(diǎn)擊某個(gè)按鈕讓菜單選項(xiàng)從按鈕周圍指定位置彈出的相關(guān)資料,需要的朋友可以參考下2015-12-12Android基于ViewPager實(shí)現(xiàn)的應(yīng)用歡迎界面完整實(shí)例
這篇文章主要介紹了Android基于ViewPager實(shí)現(xiàn)的應(yīng)用歡迎界面,結(jié)合完整實(shí)例形式分析了ViewPager類用于歡迎界面顯示圖片的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2016-08-08Android通話默認(rèn)打開揚(yáng)聲器的方法
這篇文章主要介紹了Android通話默認(rèn)打開揚(yáng)聲器的方法.小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08android電源信息查看(電量、溫度、電壓)實(shí)例代碼
這篇文章主要介紹了android電源信息查看方法,以實(shí)例形式較為詳細(xì)的分析了Android實(shí)現(xiàn)電源電量、電壓、溫度等信息查看的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10Flutter Navigator路由傳參的實(shí)現(xiàn)
本文主要介紹了Flutter Navigator路由傳參的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04Android實(shí)現(xiàn)圖片反轉(zhuǎn)、翻轉(zhuǎn)、旋轉(zhuǎn)、放大和縮小
這篇文章主要介紹了Android實(shí)現(xiàn)圖片反轉(zhuǎn)、翻轉(zhuǎn)、旋轉(zhuǎn)、放大和縮小的相關(guān)代碼,需要的朋友可以參考下2015-09-09Android中給fragment寫入?yún)?shù)的輕量開發(fā)包FragmentArgs簡介
這篇文章主要介紹了Android中給fragment寫入?yún)?shù)的輕量開發(fā)包FragmentArgs簡介,需要的朋友可以參考下2014-10-10Android10 啟動(dòng)之SystemServer源碼分析
這篇文章主要為大家介紹了Android10 啟動(dòng)之SystemServer源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10Android自定義view實(shí)現(xiàn)圖片選色器
這篇文章主要為大家詳細(xì)介紹了Android自定義view實(shí)現(xiàn)圖片選色器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06