On Mon, Mar 15, 2010 at 6:14 AM, Mark Murphy <mmur...@commonsware.com>wrote:

> snctln wrote:
> > So is it safe to say that on 1.5 systems GC from other processes
> > affects performance for all processes?  I know this graph is 3 months
> > old
> http://android-developers.blogspot.com/2009/12/knowing-is-half-battle.html
> > but phones are still being released with 1.5 (the motorola backflip
> > was just released here in the states last weekend with 1.5 on it).
> I suspect so. If you go back in time (insert swirling imagery here) to
> last year's tirades about Android and real-time games, foreign process
> GC was the leading culprit, and there was solid evidence for it. That's
> why they attempted to fix matters in 1.6, and, AFAICT, they succeeded.
> And, based on the posts, game developers rejoiced in the new-found
> smoothness.
>

Yeah it is nice to see this generally working as intended. :)  Interruption
from background processes is a general issue that we'd like to address for
the overall platform, regardless of games -- it is a negative for any
foreground application, including its basic responsiveness as well as
smoothness of animations etc.

Even with that, though, there are some things that can allow other
applications to get in the way:

- Any application can use setForeground() to no longer run in the background
scheduling class.  This is one of the reasons why as of 2.0 such apps must
post a notification to go along with this state, so the user is aware of it
and has a clear way to get rid of it.

- When we are in the process of delivering a broadcast we may bring the
application out of the background class, so we do not need to wait a long
time for it to complete.  (Broadcasts have up to 10 seconds to complete; it
is very undesirable to let them take longer, as that can block up other
important things driven off of broadcasts).

- Likewise services are raised out of background when delivering create,
start, and destroy operations.  This is done for the same reason, to avoid
timeouts.

I expect we will do further work on the latter points (for example perhaps
having separate broadcast queues for things that should be foreground vs.
background), but I'm not sure when such things will be done.

-- 
Dianne Hackborn
Android framework engineer
hack...@android.com

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails.  All such
questions should be posted on public forums, where I and others can see and
answer them.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to