作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我运行以下 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/
我正在为我的应用程序使用 Tank-Auth。我唯一的问题是激活和重置帐户密码。 用于登录、注册、注销;我对这些代码没有问题; $route['login'] = "/auth/login"; $ro
我是一名优秀的程序员,十分优秀!