A study by Purdue University and Microsoft has revealed that as much as 75 percent of the power a smartphone application draws is used for third-party ad serving.
The study examined several popular smartphone applications, including the Android browser and Angry Birds, Rovio's popular smartphone game. The New York Times app's download manager also appeared to consume a great deal of energy even after its main task, that of downloading the news, had completed.
The study has implications for users who avoid paying money for apps that eliminate the ads for a small fee, suggesting that users may pay in battery life what they avoid transferring from their bank account.
Due to "page length," however, the study only presented its conclusion on the Android OS and apps, and not the Windows Mobile OS.
The study used a tool called eprof to conclude that most smartphone apps spend the bulk of their time performing I/O functions, such as accessing 3G data or Wi-Fi. The study found that many apps have so-called "tails" that leave a device operating in full-power mode even when the app completes.
Within Rovio's Angry Birds, for example, the third-party Flurry ad network consumes 45 percent of the power consumed by the app; within Flurry's 45 percent, GPS use to identify the user's location consumed 15 percent of the energy, and the 3G "tail" an additional 24 percent.
Just opening an Android search page in the native browser can consume 2,000 μAH, the study found, of which 31 percent and 16 percent were used for 3G and GPS purposes - the latter to identify the user's location. Browsing CNN required 2,400 μAH, requiring more data download but without the need to establish the user's location.
In one example, a sample app authored by the study's authors ramped up, engaged in a handshake with a remote server, and sent 5 packets of data, for a total of for a total of 127 μAH worth of energy. But even after the app's completion, the 3G radio stayed on for an additional 6 seconds, wasting a total of 187 μAH, or 57 percent of the total app energy. The study also found that the "tail" also triggered if the routine was delayed by five seconds after the original connection. A similar behavior, called a "wakelock," was a bug that tricked a component into a high-power state and kept it there. Wakelock bugs were found inside Android's Mail program and the Facebook app, among others, the study found.
Although the study made some provocative observations about ad networks' use of power within an application, the study concluded that most of the energy an application used was confined to I/O operations, and that those operations typically were just used by a few "bundles" of routines. The study advised further research in using eprof in conjunction with compiler techniques to develop "energy optimizers' for smartphone apps.