Well AFAIK there's no incompatibility at the bytecode level. The Dalvik compiler is simply hooked on at the end of the usual Java toolchain, in order to generate register based bytecode optimized for small devices. I do believe there's a form of late binding taking place too during installation (or possible first time run), the .dex file is expanded to an .odex file presumably with certain optimizations done to it. It is not however a true VM, in that for now the bytecode is only interpreted.
Not sure what fragmentation you mean, Android developers targets their application for a specific lowest common denominator OS profile, of which there are 7 of now (1.0, 1.1, 1.5, 1.6, 2.0 2.0.1 and 2.1). If a developer is making use voice-commands only available in 2.0, it makes sense if 1.6 users can't use this application no? The only kind of fragmentation I am aware of, is handset providers not keen on updating Android which of course leaves consumers frustrated. This probably has more to do with conservative OEM practices than an inherent problem with Android itself. /Casper On Jan 18, 5:14 pm, Phil <[email protected]> wrote: > Given the fragmented situation with Android - at least three different > versions in circulation right now - I wonder if somebody can answer a > question for me. Simply put, is the Java compiled down for the Dalvik > VM late binding in the way Java is? It strikes me that if it were, > developers could write applications that adapted themselves to the > Android version and hardware platform they were being run on - having > a 'lowest common denominator' core program that would be more > functional on some hardware, or under later OS versions. > > My suspicion is that it is not - otherwise there would be fewer > complaints about fragmentation. Comments from somebody more in the > know that I am? > > I feel Google has missed a trick here - I can understand the reasons > for not just using/licencing Java (cost and control) but Android won't > be able to deliver maximum benefit for Google or Joe Public as long as > there are multiple (apparently incompatible) versions in production > and network operators/hardware manufacturers aren't able to keep > reasonably up-to-date.
-- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
