【问题标题】:why is the gc root of byte array itself in mat?为什么字节数组本身的gc根在mat中?
【发布时间】:2016-08-30 14:15:28
【问题描述】:

我有这种情况:当我分析 android heap 时,字节数组在 MAT 中被标记为 gc root。我已经排除了对 gc root 的弱/软引用。截图如下:

这意味着字节数组是gc root?很难说服。

你能解释一下这个现象吗?

这个和here一样,但是没有人解释。

我猜native有对字节数组的引用,但是我没有足够的知识来解释。

【问题讨论】:

    标签: java android garbage-collection dalvik eclipse-memory-analyzer


    【解决方案1】:

    呃,如果你展开 Class Name 列,你会在最后找到“Native Stack”。

    这是因为 Native Stack 引用了字节数组。如果您阅读 Bitmap create source code,您会发现字节数组是在 native 中分配的。 Bitmap_creator

    【讨论】:

      猜你喜欢
      • 2020-07-22
      • 2014-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-27
      • 1970-01-01
      • 2020-02-25
      • 1970-01-01
      相关资源
      最近更新 更多