this is a very nice video from google IO 2008 about Dalvik VM.
It is a bit old one but I leaned a lot from it
I learned:
- Dalvik (the name) : it is a village in iceland.
- Dex (Dalvik Executable) : it is the compiled android java code.
- its size is smaller than compressed jar file.
- Zygote: a process starts at android startup. its goal is to lunch applications by forking itself. more details here and here.
- installation steps:
- verification
- code optimization.
- some performance advice:
- well behaved application is the one that spends most of its time sleeping
- using a lot of generics consumes a lot of memory because of object creation, allocation and GC.
- make compromise between
- short-lived objects which needs GC ie processor ie battary
- long-lived objects which consume memory