Android實戰(zhàn)APP啟動速度優(yōu)化
APP啟動速度非常重要,APP啟動速度慢,可能會造成用戶體驗不良好,尤其是在最近用Android studio之后,如果長時間不打開app,啟動速度就會特別的慢,下面我們一起探討一下影響app啟動速度的原因,以及解決方案。
檢測啟動時間
首先我們要知道app的啟動時間,然后你也可以憑著感覺來,這里我教大家一個裝逼的方法:
adb shell am start -W [packageName]/[.MainActivity]
用adb命令可以檢測啟動時間,示例如下:
./adb shell am start -W "com.hchstudio.dict"/".MainActivity" Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.hchstudio.dict/.MainActivity } Status: ok Activity: com.hchstudio.dict/.MainActivity ThisTime: 7524 TotalTime: 7524 WaitTime: 7551 Complete
- com.hchstudio.dict為應用包名
- .MainActivity為所要啟動的主頁面函數(shù)
- WaitTime為我們所關注的啟動時間
那么7551算不算啟動時間長呢?答案是很長,。。。這是一個很長時間沒有啟動的app,當它第一次啟動的時候就有很長的啟動時間,下面來說怎么來減少吧。
減少應用啟動耗時
app的啟動流程,簡單的說,主要包括兩部分:
- Application
- 啟動界面的onCreate方法
因此最簡單的方法就是盡量減少這兩個方法中的耗時操作。
上面的方法從代碼上解決了啟動速度,但是用戶啟動的時候還是感覺慢,怎么辦呢?直接上代碼:
<!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorAccent</item> <item name="colorAccent">@color/colorAccent</item> </style> <style name="AppTheme.Launcher"> <item name="android:windowBackground">@color/colorLauncher</item> </style>
這是android style文件,其中AppTheme.Launcher為啟動界面的主題樣式,給你的app首頁主題樣式加上android:windowBackground,放一下app的背景圖片,這樣即使app啟動慢,也會首先加載背景,這樣就會給用戶造成一種假象,認為是app已經啟動。
Instant Run
對于Android studio的新功能Instant Run,你知道多少呢?
Instant Run也是影響啟動的因素之一,不過這個在發(fā)布的版本里是沒有的,所以小伙伴們不要擔心。
相關文章
Android自定義View實現(xiàn)簡單炫酷的球體進度球實例代碼
這篇文章主要給大家介紹了關于Android自定義View實現(xiàn)簡單炫酷的球體進度球的相關資料,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者們具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-01-01Android實現(xiàn)多參數(shù)文件和數(shù)據上傳
這篇文章主要為大家詳細介紹了Android實現(xiàn)多參數(shù)文件和數(shù)據上傳,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12Android XML設置屏幕方向(android:screenOrientation)詳解
這篇文章主要介紹了Android XML設置屏幕方向(android:screenOrientation)詳解的相關資料,需要的朋友可以參考下2017-04-04