這篇“Android啟動APP時黑屏白屏怎么解決”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Android啟動APP時黑屏白屏怎么解決”文章吧。
在開發中,我們在啟動app的時候,屏幕會出現一段時間的白屏或者黑屏,不同設備時間長短不同。很影響用戶體驗。
首先分析一下,產生這個現象的原因,當我們在啟動一個應用時,系統會去檢查是否已經存在這樣一個進程,如果不存在,就是冷啟動。系統和APP本身都有很多工作需要處理。首先系統的服務會先檢查startActivity中的intent的信息,然后在去創建進程,最后才是執行啟動Acitivy的操作。而我們上面提到的顯示白黑屏的問題,就是在這段時間內產生的。
系統在繪制頁面加載布局之前,首先會初始化窗口(Window),而在進行這一步操作時,系統會根據我們設置的Theme來指定它的Theme 主題顏色,Window 布局的頂層時DecorView,StartingWindow顯示一個空DecorView,我們在Style中的設置就決定了顯示的是白屏還是黑屏。
最簡單的解決方法
既然黑白屏是根據我們設置的Theme來決定的,那我們就可以直接從啟動頁的Theme入手,解決這個問題。
第一步:在style文件中定義如下
<!--***************啟動頁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中設置啟動頁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>
以上就是關于“Android啟動APP時黑屏白屏怎么解決”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。