Dalvik

dalvik.png

Androidのログ出力でdalvikというのがありますね。
OutOfMemoryErrorのメッセージがdalvik-heapというタグ付きで出てきます。
dalvikってなんなのでしょう??

dalvikはバーチャルマシン

普通javaはJVM(Java Virtual Machine)経由で実行されますが、
実はAndroidは違います。同じjavaを使っていても。
AndroidはDalvik VMを使ってバイトコードを実行します。
JavaコードがJavaバイトコードにコンパイルされることには変わりないですが、
Javaバイトコードはdxという「JavaバイトコードをDalvikバイトコードに変換するdexコンパイラ」
によってDalvikバイトコードとしてコンパイルされる。

サポートサイト Wikidot.com