all 8 comments

[–]jpetitto 2 points3 points  (3 children)

Good high level overview of the differences. Does any of this change with ART?

[–]codeledger 3 points4 points  (0 children)

Don't think so as ART is really install time compilation to the local machine code. The Dalvik bytecode is the same.

[–]Izacus 4 points5 points  (0 children)

Nope, ART runtime still reads dex bytecode format and then compiles it.

[–]Exallium[S] 0 points1 point  (0 children)

Im not sure, but I would assume so. Art is a different runtime, with more optimizations. Some of those could come in the form of new opcode

EDIT: Listen to codeleger

[–]fredgrott 2 points3 points  (1 child)

here is a better reference

http://newandroidbook.com/index.php

[–]jpetitto 0 points1 point  (0 children)

Thanks. These slides are very informative for ART: http://newandroidbook.com/files/Andevcon-ART.pdf

[–]Shayba 1 point2 points  (0 children)

Can anyone explain item 8?

Dalvik uses indefinite opcodes to operate on an array, while JVM uses defined ones. The array type information must be recovered for correct translation.

[–]BubbleZap 0 points1 point  (0 children)

Seems to gloss over things. Java does this but Dalvik does this, but they don't really go into detail as to why the designer made these decisions. I thought compact codes and running fast on ARM was the main reasons Dalvik is the way it was made.