标签: android dalvik
DDMS在VM堆选项卡中显示对象的最小大小(即空对象)为16个字节。但是dalvik源代码struct Object中vm/oo/Object.h只有8个字节。为什么会有区别?这与对齐问题有什么关系?
struct Object
vm/oo/Object.h
答案 0 :(得分:4)
简短回答:任何Object(类指针+锁定字)的8字节开销,以及基础dlmalloc堆分配机制的4或8字节开销。所有对象都在8字节边界上对齐,因此12字节对象将具有4个字节的填充。
Longer answer