Kev*_*ker 20 java android dalvik
众所周知,Java 5引入了Instrumentation轻松获取对象大小的能力.在Android和Dalvik上有这样的方法吗?
该java.lang.instrument
软件包在Android上不可用.
Mar*_*lts 14
对于它的价值,我查看了Dalvik VM源代码,找不到任何稳定的API来获取Object的大小.如果您想自己查看对象的大小ClassObject::objectSize : size_t
,请参阅dalvik/vm/oo/Object.h.
但是, 内部 API可以获取Object的大小.DDMS使用它来报告有关对象大小的详细信息.但是,由于API是内部的,因此可能会在不同版本的Android之间进行更改.此外,API是发送原始byte[]
数据,并且是基于客户端/服务器而不是简单的库调用,因此使用起来非常尴尬.如果你想看看,开始dvmAllocObject()
在达尔维克/ VM /分配/ Alloc.cpp和dvmTrackAllocation()
电话.
总结一下:遗憾的是,没有任何易于使用的稳定API可以在Dalvik VM中获得Object的大小.