Ad-supported apps leave smartphones in high-power states, drain batteries
If you find your phone is often low on battery, the free apps you use may be to blame, according to a new study.
Using a monitoring tool they developed, the authors of the study—two researchers from Purdue University and another from Microsoft—found that serving ads and collecting data inside an app results in excessive use of the hardware components inside a smartphone. These parts of free apps will turn on components like the 3G chip or GPS and cause them to stay on well after an information transaction has been completed, resulting in unnecessary power loss. Most smartphones can show a basic breakdown of which resources are consuming the battery life (display, Wi-Fi, individual apps, etc.), but the way in which individual apps use that power is more opaque. To unpack the details at this level of power consumption, three researchers developed a tool called "eprof," a "fine-grained energy profiler." Eprof can track power used at the level of individual threads as well as routines running in an app, and can also track what the authors call "asynchronous power behavior." Tracking an individual piece of software's activity—when processes stop and start, for instance—is contained, so it's easy to say how much power they use in that regard. But the authors found that tracking the hardware was more subtle, as many apps seem to stir hardware into action without turning it off right away, or ever. For example, the authors note the Wi-Fi and 3G chips may start up to communicate an app's data, and then remain in a high-power state even after the app has closed. Likewise, smartphone OSes also include "wakelock APIs," which allow apps to prevent different pieces of hardware from sleeping, such as an app that wakes the CPU to check for new messages or a video application that stops the screen from sleeping while playing a movie.
Items like the camera and GPS presented a similar problem: the researchers found that apps that use these devices start them up and put them in a high power-consuming state, and the hardware will sometimes continue this way until explicitly turned off by another service. All of these actions mean power consumption triggered by one app can extend beyond when an app is finished using a piece of hardware and overlap into another, making good power accounting tricky.
Ad-supported apps leave smartphones in high-power states, drain batteries