現在負責這個app體積比較小而且只有一個activity但是冷啓動時間超過1s,建議讓我優化下。
二話不說 ,先查了下冷啓動優化的幾個要點,總結如下:
1.從Application入手,是否進行不需要不必要的初始化操作。
2,.從Activity的onCreate方法入手,是否進行了不必要的靜態類引入使用以及不需要在這個時候出現的操作,比如初始化一些窗口參數之類的。
3.Splash頁面跳轉至Main頁面的邏輯優化,包含,主題設置裏對背景的設置
4.application和activity是否使用了一些靜態類的方法導致該類其他成員被消耗掉用。
根據這幾個點,我做了如下優化:
1.Application不必要的靜態方法刪去,具體就不貼了,機密
2.WindowManager獲取寬高從oncreate移除放到顯示popwindow的方法裏
3.application的主題設置背景爲splash的圖
4.oncreate使用到了其他類的靜態方法,將該靜態方法拷貝到在activity中,不調用該類。
經過優化,快了0.5s
分享一波命令:
adb shell am start -W -n 包名/類名 -----------------------測冷啓動時間
ThisTime: 1657
TotalTime: 1657
WaitTime: 1756
測完會有這幾個參數,看totaltime即可。
adb shell am force-stop 包名 -----------先殺掉進程再測
參考:https://www.jianshu.com/p/56f9d0ad8eb6