APP 啟動時間測試 adb命令

2022-06-20 09:18:08 字數 1616 閱讀 4995

1、概念:

冷啟動:當啟動應用時,後台沒有該應用的程序,這時系統會重新建立乙個新的程序分配給該應用,這個啟動方式就是冷啟動。

熱啟動:當啟動應用時,後台已有該應用的程序(例:按back鍵、home鍵,應用雖然會退出,但是該應用的程序是依然會保留在後台,可進入任務列表檢視),所以在已有進                 程的情況下,這種啟動會從已有的程序中來啟動應用,這個方式叫熱啟動。

2、am start -w packagename/activity 命令 (w大寫)

waittime:包括前乙個應用 activity pause 的時間和新應用啟動的時間,稍微大點。

totaltime: 表示新應用啟動的耗時,包括新程序的啟動和 activity 的啟動,但不包括前乙個應用activity pause的耗時(真正的啟動耗時)

thistime: 表示一連串啟動 activity 的最後乙個 activity 的啟動耗時

測試方法:adb shell am start -w packagename/mainactivity命令,計算啟動時間

示例:adb    shell    am    start   -w    com.android.calculator2/com.android.calculator2.calculator

thistime:最後乙個activity啟動耗時

totaltime:所有activity啟動耗時

waittime:ams啟動activity的總耗時

總結:線下使用方便,不能帶到線上

不嚴謹、非精確地時間

關於thistime/totaltime/waittime的區別,下面是其解釋。waittime=endtime-starttime

waittime 就是總的耗時,包括前乙個應用activity pause 的時間和新應用啟動的時間;

thistime 表示一連串啟動activity 的最後乙個 activity 的啟動耗時;

totaltime表示新應用啟動的耗時,包括新程序的啟動和 activity 的啟動,但不包括前乙個應用activity pause 的耗時。

也就是說,開發者一般只要關心 totaltime 即可,這個時間才是自己應用真正啟動的耗時。

總結一下,如果只關心某個應用自身啟動耗時,參考totaltime;

如果關心系統啟動應用耗時,參考waittime;

如果關心應用有介面activity啟動耗時,參考thistime。

1.2、手動打點

啟動時埋點,啟動結束時埋點,二者差值

public class launchtimer

public static void endrecord()

public static void endrecord(string msg)

}避開誤區,採用feed第一條展示

正解:真實資料展示,feed第一條展示(即adapter中的第一條資料)

adb獲取啟動時間

coding utf 8 import subprocess import time thistime是一連串啟動activity的最後乙個activity的啟動耗時。totaltime是新應用啟動的耗時,包括新程序的啟動和activity的啟動,但不包括前乙個應用activity pause的耗時...

App啟動時間分析

1,梳理優化方案 衡量main 函式執行之前的耗時 對於衡量main 之前也就是time1的耗時,蘋果官方提供了一種方法,即在真機除錯的時候,勾選dyld print statistics選項 如果想獲取更詳細的資訊可以使用dyld print statistics details 如下圖 優化方案...

app效能測試 效能測試之APP啟動時間計算

01 明確任務目標 02 實現圖形化介面的操作 件放入指定路徑中,通過命令 ideviceinstaller來實現安裝ipa檔案 ideviceinstaller i ipa檔案 第二步 呼叫instruments工具中的 的資料獲取 launch.tracetemplate d test.trac...