Apple iPhone vs. Android Multitasking: A Comparison
Then his discussion gets REALLY interesting. Quintana notes that the battery impact of the actual multitasking -- consuming CPU cycles, for example -- is negligible. Instead, one danger lies in applications that continually make use of the available network connections, GPS, or other phone-based, and battery-powered resources.
"If for example, a Facebook client, a Twitter client, an email client, an IM client or two, and a newsreader all ran in the background and polled the network every minute or so for updates, there would be enough network usage to have an effect on the battery (it would be even worse if it happened over wi-fi vs 3G)." That's why, he says, Apple requires the use of the Push Notification Service for this kind of communication.
"Android has no such restrictions and as a result battery life can suffer with poorly implemented apps. As Steve Jobs said [during the iPhone 4.0 announcement], if you need a task manager, you already failed. I think it is safe to assume that Apple thoroughly tested the different methods of allowing background processes before deciding on this restrictive, yet power friendly implementation."
A second danger is due to the limited memory in all smartphones. Quintana has a link to Robert Love, who has written about this: "Both the iPad and iPhone, as mobile devices, have limited memory (256MB in the current incarnations) and no hard drive. No hard drive means no swap file. Limited memory and no swap imply that applications have a small, fixed amount of memory at their disposal. They don’t have the luxury of seemingly-infinite memory, as a modern system with swap has."
Love continues: "Memory consumption is thus a critical system constraint. Like most systems, the iPad and iPhone deal with this by killing applications that use too much memory via a mechanism called the out of memory (OOM) killer. Unlike most systems, applications designed for the iPad and iPhone know how much memory they have at their disposal, and are designed to operate within those constraints. This is classic memory management in embedded programming. No swap, fixed memory, you deal."
Quintana concludes by noting that if Apple introduced Android-like unrestricted multitasking, "all current [iPhone] applications that might take advantage of background processing would require a redesign to use a client/service architecture. Developers would have to maintain a completely different app for pre-iPhone OS 4 devices or iPhone OS 4 devices with no multitasking. In addition, the backend server infrastructure required for PNS would only be used for pre-iPhone OS 4 devices and non-multitasking iPhone OS 4. This would fragment development severely."
For comprehensive coverage of the Android ecosystem, visit Greenbot.com.