gpt4 book ai didi

java - 如何在 Android 上启用详细 GC?

转载 作者:行者123 更新时间:2023-12-01 12:39:04 24 4
gpt4 key购买 nike

我正在调试一个由于神秘原因而发生大量 GC 的问题(即许多 GC_CONCURRENT、WAIT_FOR_CONCURRENT_GC 和 GC_FOR_ALLOC 消息出现在 logcat 中)。日志中的一小部分样本:

08-13 08:59:12.051  25878-25932/com.myco.myapp D/dalvikvm﹕ GC_FOR_ALLOC freed 393K, 6% free 9740K/10344K, paused 11ms, total 12ms
08-13 08:59:12.067 25878-25882/com.myco.myapp D/dalvikvm﹕ GC_CONCURRENT freed 375K, 6% free 9750K/10344K, paused 3ms+2ms, total 16ms
08-13 08:59:12.067 25878-25932/com.myco.myapp D/dalvikvm﹕ WAIT_FOR_CONCURRENT_GC blocked 9ms
08-13 08:59:12.082 25878-25932/com.myco.myapp D/dalvikvm﹕ GC_FOR_ALLOC freed 380K, 6% free 9744K/10344K, paused 12ms, total 12ms
08-13 08:59:12.106 25878-25932/com.myco.myapp D/dalvikvm﹕ GC_FOR_ALLOC freed 375K, 6% free 9740K/10344K, paused 19ms, total 19ms
08-13 08:59:12.137 25878-25882/com.myco.myapp D/dalvikvm﹕ GC_CONCURRENT freed 379K, 6% free 9745K/10344K, paused 4ms+3ms, total 23ms
08-13 08:59:12.145 25878-25932/com.myco.myapp D/dalvikvm﹕ WAIT_FOR_CONCURRENT_GC blocked 20ms
08-13 08:59:12.168 25878-25932/com.myco.myapp D/dalvikvm﹕ GC_FOR_ALLOC freed 369K, 6% free 9743K/10344K, paused 17ms, total 18ms
08-13 08:59:12.192 25878-25932/com.myco.myapp D/dalvikvm﹕ GC_FOR_ALLOC freed 380K, 6% free 9740K/10344K, paused 17ms, total 17ms
08-13 08:59:12.207 25878-25932/com.myco.myapp D/dalvikvm﹕ GC_FOR_ALLOC freed 375K, 6% free 9743K/10344K, paused 11ms, total 11ms

我想知道在如此大的卷中创建了哪些对象,以致 GC 必须如此频繁地运行。我想看看 GC 期间哪些对象被销毁。

在桌面系统上,我相信在 JVM 中启用 -verbose:gc 就可以解决问题。是否可以在 Android 上启用详细 GC?我怎样才能看到GC正在破坏什么?

最佳答案

您可能希望在 Android 监视器中跟踪分配情况以了解发生了什么情况。请参阅https://developer.android.com/tools/debugging/debugging-memory.html有关调试应用分配的详细信息。

enter image description here

另请观看过去 Google I/O 上有关 Android 内存管理的视频:https://www.youtube.com/watch?v=_CruQY55HOk

关于java - 如何在 Android 上启用详细 GC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25288493/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com