On Wed, Apr 7, 2010 at 12:59 PM, Nanard <[email protected]> wrote: > OK it's not called JVM, but Dalvik VM. > > Its role is the same : "read .apk/class" and interpreting it. > Managing the garbage collector & memory. > It's a level between OS/drivers and the application.
> Dalvik Byte Code is not the byte code used by the processor (which > can be different depending on devices). > Read/search documentation on .class byte code for an example. Do some > Assembler or read how it works. You will understand what I mean :-) > So : there is a conversion/interpretation somewhere... which requires > times/RAM... I assure you I'm no stranger to C and assembly code, and I have also spent some time with the ASM tool for Java. I agree that arguing the differences between Dalvik bytecode and assembly code would be a futile task, as they are very different beasts. However, I think you are putting a lot of weight on the *extent* of impact the performance that bytecode translation has. It's this bit that I disagree with. Also, by talking about this we are now a looong way from anything related to the Java programming language. > Anyway : I think Java was the good language (many API/libraries, > portable, a lot of people knows it). Google did the good choice. > > But again : don't expect app as fast as on other OS. I'm still not convinced that using the Java programming language to write apps has any relation to the general performance of Android apps. You've indicated that you think the middleware stack in Android bears direct blame, but I'm not convinced of that either (at least, not in a generalised sense). I firmly believe that there are a LOT of other factors that are more likely to affect a sluggish performance on an Android phone than the runtime environment. Back to the original question... My opinion is that there is some optimisation work left to do in Android as a whole, on top of what has already been done between 1.5 and 2.1 - I believe the HTC Hero runs the 1.5 build of Android? In which case it is already outdated and is missing a lot of the improvements that you would see in the more recent phones. I retract that statement if I'm wrong on the Hero build version fact. debuti, you didn't mention which version of the iPhone you were using? I find my iPhone 2G has a lot of performance problems once I start installing a number of third-party apps. This is consistent with what I see on my Nexus One phone. The one thing I would say is that my out-of-the-box iPhone did not suffer from some of the scrolling performance bugs that I still see in Android 2.1 - I mainly see this on the Home screen (scrolling between "pages") and on scrolling lists that include images. I'm not prepared to put these glitches down to "Java" because they are not present on the Web browser (or anything using Webkit), but I suspect there is some issues with the image rendering / screen buffering that makes these animations difficult to get right using the current Android components. I've seen some very badly developed apps for Android, ones that force themselves to start on boot, and run in the background for extended periods of time. I've even inadvertently written such atrocities myself, when learning the basics of Android development. I believe these to be the main cause of performance problems on some peoples phones (both iPhone and Android). I also think this is something Android potentially runs afoul of more easily than the iPhone, because none of the existing Android markets enforce a vetting process to ensure the apps are behaving properly. I don't want that vetting process for all the reasons that make the Android markets better than the iTunes store - but it is something we will have to be cautious of, just as we do with installing applications on our PC from the Web. Finally, the HTC Hero uses HTC's Sense UI theme instead of the standard Android one. Now I'm not about to get into a slagging match about which UI is faster or looks nicer, but I do believe such mods are something to watch out for when buying your phone. It would be interesting to see some real benchmarks between the Sense UI and stock UI to see what implications this might have. This falls into the same category as my previous paragraph. -- You received this message because you are subscribed to the Google Groups "Android Discuss" 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/android-discuss?hl=en.
