android效能優化之啟動優化

2021-09-26 10:11:15 字數 1061 閱讀 3095

解決方案

@null

@null

true

@drawable/bg_splash
必要且耗時:mutidex

必要不耗時:首頁繪製

非必要耗時:資料上報,外掛程式初始化

非必要不耗時:直接去掉,需要時再載入。其他第三方元件的初始化

檢視日誌:將手機連線到android studio上,開啟logcat,不要選擇程序,在手機上殺死應用並重新開啟,搜尋關鍵字 displayed , 會看到如下日誌

08-23 10:23:54.266 2097-2133/? i/activitymanager: displayed com.jackting.test/.ui.login.loginactivity: +557ms
使用adb命令:將手機連線到android studio上,殺死應用,使用命令adb shell am start -w packagename/mainactivity開啟應用,命令列介面會出現以下列印,引數一般以totaltime為準

starting: intent 

status: ok

activity: com.jackting.test/.ui.login.loginactivity

thistime: 559

totaltime: 559

waittime: 633

complete

準備知識

使用方式

引數問題

若在上面的基礎上,還需要分析硬體加速 hwui

懷疑有gc或者io導致的卡頓

懷疑有電量相關的問題

瀏覽trace檔案

白色:休眠狀態,一般情況都是在等待事件驅動,或者在互斥鎖上等待了

橘色:不可中斷的睡眠狀態,一般執行緒在io上面阻塞了,等待磁碟操作,表明io操作很慢,大量橘色出現 表明 系統進入低記憶體狀態

紫色:可中斷的睡眠狀態,執行緒在另乙個核心上被阻塞了,可能是正常的,也可能是

Android效能優化之冷啟動優化

冷啟動 cold start 溫啟動 warm start 熱啟動 hot start adb shell am start w packagename packagename.activity 例如 adb shell am start w com.dateyou.test com.datayou...

Android 效能優化 啟動優化

1.3啟動優化工具 1.3.1 traceview 1.3.2 systrace 2.啟動優化 啟動優化的第一步就是要獲取啟動的時間,整個啟動邏輯的所需要的精確時長。根據各個方法的時長去定位哪些邏輯需要優化。首先我們如何獲取 的執行時間。如下 檢視啟動時間。適合線下模式 注意 使用命令前,adb需要...

Android效能優化1 啟動優化

1 手機的啟動 開啟電源 通過bootloader將linux系統拉起 配置網路 檔案等等引導頁面 linux啟動 init程序 zygote程序建立jvm 開啟systemserver,開啟binder執行緒池和systemservicemanager 由這些服務開啟activitymanager...