您好,登錄后才能下訂單哦!
本篇內容介紹了“Android應用啟動白屏處理的方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
相信大家一定遇到過某些App在手機桌面打開時會出現短暫或者幾秒鐘的白屏情況吧,沒錯那是應用程序啟動后系統默認的背景色,此時應用的第一個Activity還未被加載出來,所以不管怎么設置第一個Activity的背景色都毫無作用。首先先聊一聊冷啟動和熱啟動:
冷啟動
殺掉App,此時的App進程不存在于后臺,啟動時從Logo頁面開始。
熱啟動
App處于后臺,進程未被殺死,重新進入前臺時頁面保持上一次頁面,不會重新啟動。
所以,我們此次所講的屬于冷啟動過程,當應用程序代碼量小、業務邏輯少、體積小時,App啟動還是比較快,白屏時間可以忽略不計。一旦初始化工具過多,首頁業務邏輯過多時啟動速度會嚴重變慢,此時的白屏時間會越來越長,給人一種極差的體驗。我們需要做的就是在白屏時間盡可能快速的展示Logo等圖標,讓它成為一個過渡,待應用程序準備好后跳轉到相應頁面以提高用戶體驗。
首先,需要配置一個SplashActivity(應用展示的第一個Activity)的主題
<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- 將splash圖片設置在這,這樣這張圖片取代白屏 --> <item name="android:windowBackground">@drawable/logo_drawable</item> <item name="android:windowAnimationStyle">@style/notAnimation</item> <!--將頂部狀態欄設置為透明,并將界面內容布局上邊界上提至狀態欄頂部--> <item name="android:windowTranslucentStatus">true</item> <!--如果有底部虛擬導航欄,則將底部虛擬導航欄設置為透明,并將界面內容布局下邊界下沉至虛擬導航欄底部--> <item name="android:windowTranslucentNavigation">true</item> <item name="android:windowFullscreen">true</item> <item name="android:windowNoTitle">true</item> <item name="windowActionBar">true</item> </style>
其中windowBackground是我們本次重點配置,windowAnimationStyle是取消頁面的一些動畫效果,一般首頁我們讓它無動畫,其他設置根據自己情況設置即可。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <color android:color="#ffffffff"/> </item> <item android:top="208dp" android:bottom="453dp"> <bitmap android:gravity="center" android:src="@mipmap/ic_logo" /> </item> </layer-list>
白色背景上疊加一個bitmap,這里需要注意的是bitmap外層的item標簽一定要根據設計稿配置好上下邊距,否則運行App后的效果會被鋪滿屏幕。
然后我們將上面的主題配置到activity中,此時SplashActivity的布局文件中可以什么都不寫,因為該主題就相當于背景,如果此處編寫頁面可能會和背景logo重合,僅需要編寫一些邏輯和跳轉處理。
<activity android:name=".ui.splash.SplashActivity" android:configChanges="orientation|screenSize" android:exported="true" android:launchMode="singleTop" android:screenOrientation="portrait" android:theme="@style/SplashTheme"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
至此,再次運行打開App發現,幾乎點開就是我們配置的logo,完美處理白屏問題。
如果項目使用了UI適配的三方庫,例如androidAutoSize,一定記得根據文檔處理放棄啟動頁適配,否則運行出來的效果也是不如意。
“Android應用啟動白屏處理的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。