android 優化(冷啓動優化)

這裏爲了方便記錄一下。

這類的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處理,在啓動頁的時候,發送註冊,進行了初始化,有興趣的可以瞭解一下,這裏貼上博客:

App 冷啓動與熱啓動及啓動白屏優化

我寫加入進去,但是呢還是存在問題,只有重新考慮了,重新百度了一下,點擊圖標啓動的時候爲什麼會變慢的原因,給了很多的答案,但大多的答案是,優化之後設置了

<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>

 

附屬地址

android點擊app圖標沒有反應過幾秒才彈出app界面

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章