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.

Reply via email to