Android Monkey 不生成 HPROF 转储

标签 android monkeyrunner

我运行以下 Android Monkey 命令:

adb shell monkey --hprof -v -p com.my.app 5000

它应该在/data/misc 下创建一个 hprof 文件,但它没有。我修改了 777/data/misc。

然后我尝试了 kill -10 APP_PID,但在 logcat 下得到了以下内容:

I/dalvikvm(  771): threadid=4: reacting to signal 10
I/dalvikvm(  771): SIGUSR1 forcing GC (no HPROF)
D/dalvikvm(  771): GC_EXPLICIT freed 46K, 38% free 8352K/13383K, external 15387K/15496K, paused 98ms

我在 Galaxy S 上运行 Cyanogenmod 版本 7,Android 版本 2.3.7。

为什么“没有 HPROF”,如何通过 Monkey 获取 HPROF 转储并 kill -10?

谢谢

最佳答案

当使用 --hprof 调用时,monkey 会向所有进程发送一个 SIGUSR1 信号,但此补丁已从 Dalvik 禁用转储 HPROF 数据:

commit b037a464512c0721bdca969ae19cce3d4b17b083 Author: Andy McFadden Date: Fri Jul 16 11:07:58 2010 -0700

Don't do heap dump on SIGUSR1.

We still do the GC, but without the HPROF heap dump.

Change-Id: I004a65b9571667dd320dfabec1441d0fc8b9970a

因此,在 SIGUSR1 上仅调用 GC。 我想 --hprof 选项应该从 monkey 中删除。

关于Android Monkey 不生成 HPROF 转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8351329/

相关文章:

Android Studio中的Java URLConnection.setRequestProperty似乎没有做任何事情

android - 如何使用 Anko 和 Kotlin 获取 SQLite 表的最大 _id 值?

android - Android 上的黑猩猩聊天

python - 虽然真正的 python 脚本应该无限循环但它只执行一次 - Monkeyrunner

Android自动化usb调试(rsa指纹)

java - 当我在图标中按一次时,导航底部 bat 不起作用,只有当我按两次时才起作用?

android - 像主页按钮一样覆盖电源按钮

java - keystore 版本错误 - 使用 BouncyCaSTLe 的 V146 生成的 BKS

android - Android monkeyrunner 的 help.py 在哪里

android - 如何获取 Android 中菜单项的 Android ID?