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

发布了18 篇原创文章 · 获赞 1 · 访问量 2315

猜你喜欢

转载自blog.csdn.net/Better_WZQ/article/details/103316664