這裏爲了方便記錄一下。
這類的blog很多很多,先看下鴻洋推的blog
這篇寫的很好,大家可以跟着學習一下。
在把項目做的差不多的時候,看到啓動的時候白屏,到這裏就想到了優化一下,就是設置activity風格就好了,於是百度一下,
隨便貼一個地址
Android Study 之冷啓動優化(解決啓動短暫白屏or黑屏)
設置風格:代碼如下
在Style中設置透明
<style name="AppTransparentTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
在mainfest裏面第一個啓動的activity下設置主題風格,就好了。
然後開心的重新啓動app,發現一個問題,怎麼點擊圖片啓動app的時候發現怎麼過了1s甚至更長,纔看到畫面,雖然解決了白屏的問題,但是更用戶的體驗就是是不是app卡了,點擊沒反應,於是乎又百度了一下優化啓動,一個博主說在application裏面的oncreate初始化一些數據,比如百度sdk等,這些會導致app啓動變慢,他 的處理方式是,在application裏面的oncreate方法裏面不做初始化,利用evenbus處理,在啓動頁的時候,發送註冊,進行了初始化,有興趣的可以瞭解一下,這裏貼上博客:
我寫加入進去,但是呢還是存在問題,只有重新考慮了,重新百度了一下,點擊圖標啓動的時候爲什麼會變慢的原因,給了很多的答案,但大多的答案是,優化之後設置了
<item name="android:windowIsTranslucent">true</item>
這個屬性導致,距離原因不是很清楚,都再說這個慎用,會拖慢啓動速度,於是去掉了這個方法,發現沒有延遲幾秒了,問題解決了,緩了一下,怎麼出現一個透明的黑色背景很不美觀,這裏需要把
<item name="android:windowBackground">@android:color/white</item>
這裏設置的背景替換成你需要的背景圖片就好了。
修改之前的:
style name="StartTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowBackground">@android:color/white</item>
</style>
修改之後的:
<style name="StartTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowBackground">@drawable/background3</item>
<item name="android:windowFullscreen">true</item>
</style>
附屬地址