DDMS は、オブジェクト (つまり、空のオブジェクト) の最小サイズが [VM ヒープ] タブで 16 バイトであることを示しています。しかしstruct Object
、dalvik のソース コードでは 8 バイトしかありませんvm/oo/Object.h
。なぜ違いがあるのですか?それはアライメントの問題とどのように関連していますか?
1 に答える
4
簡単な答え: オブジェクト (クラス ポインター + ロック ワード) の 8 バイトのオーバーヘッドに加えて、基礎となる dlmalloc ベースのヒープ割り当てメカニズムの 4 または 8 バイトのオーバーヘッド。すべてのオブジェクトは 8 バイトの境界で整列されるため、12 バイトのオブジェクトには 4 バイトのパディングがあります。
長い答え。
于 2013-08-27T20:30:23.880 に答える