存储本机代码的Android?

时间:2014-08-27 20:27:19

标签: java android heap dalvik

我们都知道Android对象和局部变量存储在Dalvik-heap和堆栈中 当我们从Android应用程序执行本机函数时,它会创建对象和局部变量。

问题是 原生对象本地变量存储?

2 个答案:

答案 0 :(得分:1)

每个Dalvik线程都有一个由pthreads库创建的本机部分和一个由VM运行时创建的托管部分。执行本机代码时,它在本机堆栈上执行。 (我的理解是Art中的这种变化,它具有本机代码和托管代码的组合堆栈。)

本机代码通过malloc()new进行的任何分配都将使用与其他本机代码(包括VM运行时本身)相同的本机堆。

答案 1 :(得分:0)

据我所知,本机代码在本机堆上运行,因此它们不会占用分配堆中的任何内存。