1、Activity啓動流程簡介:git
1.啓動Activity:系統會先調用onCreate方法,而後調用onStart方法,最後調用onResume,Activity進入運行狀態。github
2.當前Activity被其餘Activity覆蓋或被鎖屏:系統會調用onPause方法,暫停當前Activity的執行。shell
3.當前Activity由被覆蓋狀態回到前臺或解鎖屏:系統會調用onResume方法,再次進入運行狀態。app
4.當前Activity轉到新的Activity界面或按Home鍵回到主屏,自身退居後臺:系統會先調用onPause方法,而後調用onStop方法,進入停滯狀態。工具
5.用戶後退回到此Activity:系統會先調用onRestart方法,而後調用onStart方法,最後調用onResume方法,再次進入運行狀態。性能
6.當前Activity處於被覆蓋狀態或者後臺不可見狀態,即第2步和第4步,系統內存不足,殺死當前Activity,然後用戶退回當前Activity:再次調用onCreate方法、onStart方法、onResume方法,進入運行狀態。測試
7.用戶退出當前Activity:系統先調用onPause方法,而後調用onStop方法,最後調用onDestory方法,結束當前Activity。網站
從Activity的生命週期流程圖,咱們能夠看出啓動時間即onCreate()方法開始執行到onResume()方法執行結束的時間,也就是activity徹底啓動的時間。生命週期
2、activity啓動的時間獲取內存
方法一:經過logcat中ActivityManager的相關數據獲取
1)ddms設置過濾條件「by Log Tag」爲:ActivityManager;
2)啓動app,查看經過DDMS抓取到的log。
方法二:經過adb logcat命令來獲取
命令:adb logcat -d -s ActivityManager|findstr "Displayed">D:\log.txt
方法三:adb shell命令獲取
1)獲取app包名和類名
>adb shell dumpsys activity|findstr mFocusedActivity
2)獲取啓動時間
>adb shell am start -W –n <packageName>/<activityName>
方法四:經過Emmagee性能測試工具
Emmagee是一款簡單易用的Android性能檢測小工具,主要用於監控單個App的CPU,內存,流量,啓動耗時,電量,電流等性能狀態的變化。工具官方網站:https://github.com/NetEase/Emmagee/releases。