gpt4 book ai didi

android - Android GC 日志消息的含义

转载 作者:太空狗 更新时间:2023-10-29 15:12:47 25 4
gpt4 key购买 nike

首先,我想在这里粘贴一些 Honeycomb 的 GC 日志消息。

03-08 01:31:54.354: D/dalvikvm(258): GC_CONCURRENT freed 196K, 5% free 7078K/7431K, paused 3ms+3ms
03-08 01:31:54.494: D/dalvikvm(258): GC_FOR_ALLOC freed 4K, 5% free 7073K/7431K, paused 75ms
03-08 01:31:54.494: I/dalvikvm-heap(258): Grow heap (frag case) to 7.391MB for 411152-byte allocation

我在这里有 4 个问题。

  1. 我在 Google i/o 2011 看过视频“Android Memory Management”,但我仍然不清楚 5% 免费 7078K/7431K。这意味着我们在 7431K 堆大小中使用 7078K,但是这里的 7431K 是什么意思?因为我注意到7431K会是一个很大的数字。这个数字有什么规定吗?如果是指堆总大小,应该是16M或者32M之类的。但是这里显然不是..

  2. Honeycomb 也有像 Grow heap (frag case) to 7.391MB for 411152-byte allocation 这样的消息,Gingerbread 没有。这是什么意思?

    <
  3. Honeycomb 及更高版本的 GC 日志消息不显示外部内存信息,如“external xxxK/xxxK”,这是为什么?

  4. 我还注意到,在 ICS 和更高版本中,GC 日志消息也有一个总时间,如 GC_FOR_ALLOC freed 190K, 13% free 5409K/6164K, paused 67ms, total 71ms,但是这里alloc gc的total time大于paused time,有时你会发现total time会比paused time大很多。为什么?

最佳答案

关于第 3 点(关于外部内存信息),可能是因为位图现在是 Dalvik 内存的一部分而不是外部内存,因此外部内存与垃圾收集器的相关性很小。

关于android - Android GC 日志消息的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15285750/

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