I think there are two problems here, both of them psychological and a
problem adapting from the desktop.

1) People equate a process existing with an application being
"active".

My recommended solution, in all APIs and OS screens that report
"active applications" should only show/return applications that are
consuming more than an idle amount of CPU, not just any application
that has a PID. So a user running a shelves like application and it
launches AsyncTasks to retrieve book cover jpgs. Then user hits home,
immediately goes to their Task manager application, they see Shelves
running consuming resources. Then the AsyncTasks finish, there are no
more UI events driving more processing and voila Shelves disappears
from the "running applications" list. Wow it "quit", user figures I
don't need a task manager.

2) People associate, just like on the desktop, not wanting a function
of an application to quitting the application. Earlier mort was
suggesting the same thing. Twitter should have an "exit" button so
that a user who wants it to temporarily stop fetching tweets can do
so. This is wrong. If the user wants it to stop temporarily retrieving
tweets there should be a button that says "disable background updates"
in the application.. not an exit button. It's the insistence that
these two need to be the same thing that's the problem for developers
and adding "exit buttons".

Solution is to have a Android Developers Blog post about why an "exit"
button is wrong, and if you are including one what the best way to
adapt your application to give users confidence in its background
manners while not having an "exit" button. Maybe talk about when it's
appropriate to terminate Threads or AsyncTasks as the application
lifecycle changes. Should the app finish downloads that are only
relevant to the active UI when the UI hides? What if the user is
coming back in 2 seconds, what if not? When should they be interrupted
and cancelled? I think this would be an excellent topic, certainly
some advise I could use in my own applications.

-Eric

-- 
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