app耗時檢測

使用adb shell am start -w packagename/activity查看app耗時,本是一個很簡單的操作,我這個小白卻一直出差,百度也沒有百度到和我一樣問題的大兄弟,就打算記錄一下,希望可以幫助到和我一樣的小白

命令:

adb shell am start -W com.example.morehub/.MainActivity
//(包名/activity)


運行:

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.morehu
b/.MainActivity }
Error type 3
Error: Activity class {com.example.morehub/com.example.morehub.MainActivity} does not exist.

我就很納悶,一直檢查自己的包名,activity名,各種更改嘗試,都是一樣的結果。
百度看到別人的幾個出錯點,這裏也記錄一下:
1:有兄弟是把命令內容大小寫沒注意;
2:調試設備沒有安裝對應的app
可是這裏我都沒有出現這樣的錯誤,於是我就開始百度這個命令到底怎麼使用,就觀察它的運行結果,有這樣一條:

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com
.example.morehub/.MainActivity }


相信這個intent內容,做安卓開發的應該都很熟悉,
android.intent.action.MAIN決定應用程序最先啓動的Activity
android.intent.category.LAUNCHER決定應用程序是否顯示在程序列表裏
我們這個是想查看app耗時,是不是命令中的activity應該是項目中對應的最先啓動的activity,通常demo中,都是MainActivity,因此,教程的例子就也是MainActivity,小白可能就沒有注意到直接按照教程來做,就遇到了我遇到的問題。

成功解決方案

後面的activity注意要是自己項目中對應的最先啓動的Activity。

因爲有時候你測試的app正在運行,因此會報出這樣的警告:

Warning: Activity not started, its current task has been brought to the front

可以使用這樣的一個命令,
adb shell am start -S -R 3 -W com.example.morehub/.StartActivity
中間的數字是指定反覆啓動調試APP的次數,先stop當前運行的app,可以查看APP連續n次啓動的耗時情況,算是一直多次測試求平均值的方式吧哈哈
運行結果:

D:\morehubProjects\dev1.3\githubapp>adb shell am start -S -R 3 -W com.example.morehub/.StartActivity
Stopping: com.example.morehub
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.morehu
b/.StartActivity }
Status: ok
Activity: com.example.morehub/.StartActivity
ThisTime: 965
TotalTime: 965
WaitTime: 984
D:\morehubProjects\dev1.3\githubapp>adb shell am start -S -R 3 -W com.example.morehub/.StartActivity
Stopping: com.example.morehub
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.morehub/.StartActivity }
Status: ok
Activity: com.example.morehub/.StartActivity
ThisTime: 1007
TotalTime: 1007
WaitTime: 1032
Complete
Stopping: com.example.morehub
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.example.morehub/.StartActivity }
Status: ok
Activity: com.example.morehub/.StartActivity
ThisTime: 944
TotalTime: 944
WaitTime: 972
Complete
Stopping: com.example.morehub
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.example.morehub/.StartActivity }
Status: ok
Activity: com.example.morehub/.StartActivity
ThisTime: 935
TotalTime: 935
WaitTime: 1009
Complete

發佈了14 篇原創文章 · 獲贊 1 · 訪問量 2178
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章