
The fact that you can see an application's process "running" does not mean the application is running or doing anything.
#How does android multi tool work android#
In Android these are not tightly coupled entities: applications may seem present to the user without an actual process currently running the app multiple applications may share processes, or one application may make use of multiple processes depending on its needs the process(es) of an application may be kept around by Android even when that application is not actively doing something. When does an application "stop"?Ī common misunderstanding about Android multitasking is the difference between a process and an application. These competing constraints were a key motivation for Android's design. At the same time, mobile devices have hard limits on memory use, so that a system will degrade or even start failing very quickly as it needs more RAM than is available a desktop computer, with swap, in contrast will simply start slowing down as it needs to page RAM to its swap space. We don't want users to worry about closing their apps, but rather make it appear that all of the applications are always running. The first two requirements highlight an interesting conflict. This means background music playback, data syncing, GPS navigation, and application downloading must be implemented with the same APIs that are available to third party developers. The available APIs must be sufficient for writing the built-in Google applications, as part of our "all applications are created equal" philosophy. A noticeable wait in such situations will quickly make users hate you. This is especially important when the user is switching between a few applications, such as switching to look at a new SMS message while watching a video, and then returning to that video. Robert Love has a very good article covering the topic.Īpplication switching on a mobile device is extremely critical we target significantly less than 1 second to launch a new application. Mobile devices don't have the luxury of swap space, so have fairly hard limits on memory use. Such a usage pattern does not work well in a mobile environment, where usage tends to involve repeated brief contact with a wide variety of applications throughout the day. We did not want to require that users close applications when "done" with them. Here are the four key constraints we were working under as we designed Android's multitasking: Mobile devices have technical limitations and user experience requirements not present in desktop or web systems.

This article covers the reasons for Android's multitasking design, its impact on how applications work, and how you can best take advantage of Android's unique features.

Understanding its behavior is important for designing applications that will work well and integrate seamlessly with the rest of the Android platform. Developers coming from a different platform may find the way it operates surprising. Android is fairly unique in the ways it allows multiple applications to run at the same time.
