there's also the fact that phones have relatively limited memory.
I suspect the Dalvik VM runtime memory footprint is much lower than that of the JVM.
Also, hasn't Java ME stagnated? I.e. it's stuck in at Java 1.3 (which Oracle has promised to address).