Java 为什么字节数组本身的gc根在mat中?

Java 为什么字节数组本身的gc根在mat中?,java,android,garbage-collection,dalvik,eclipse-memory-analyzer,Java,Android,Garbage Collection,Dalvik,Eclipse Memory Analyzer,我有这样一个例子:当我分析android堆时,字节数组在MAT中被标记为gc根。我已经排除了对gc根的弱/软引用。屏幕截图如下: 这意味着字节数组是gc根?这很难令人信服 你能解释一下这种现象吗 这是一样的,但没有人解释它 我猜本机有一个字节数组的引用,但我没有足够的知识来解释。呃,如果你展开类名列,你会在最后找到“本机堆栈” 这是因为本机堆栈引用字节数组。如果您阅读位图创建源代码,您会发现字节数组是在本机中分配的

我有这样一个例子:当我分析android堆时,字节数组在MAT中被标记为gc根。我已经排除了对gc根的弱/软引用。屏幕截图如下:

这意味着字节数组是gc根?这很难令人信服

你能解释一下这种现象吗

这是一样的,但没有人解释它


我猜本机有一个字节数组的引用,但我没有足够的知识来解释。

呃,如果你展开类名列,你会在最后找到“本机堆栈”

这是因为本机堆栈引用字节数组。如果您阅读位图创建源代码,您会发现字节数组是在本机中分配的