An Empirical Study of Android Alarm Usage for Application Scheduling
Android applications often rely on alarms to schedule back- ground tasks. Since Android KitKat, applications can opt-in for deferrable alarms, which allows the OS to perform alarm batching to reduce device awake time and increase the chances of network traffic being generated simultaneously by different applications. This mechanism can result in significant battery savings if appropriately adopted.
In this paper we perform a large scale study of the 22,695 most popular free applications in the Google Play Market to quantify whether expec- tations of more energy efficient background app execution are indeed warranted. We identify a significant chasm between the way application developers build their apps and Android’s attempt to address energy inefficiencies of background app execution. We find that close to half of the applications using alarms do not benefit from alarm batching capa- bilities. The reasons behind this is that (i) they tend to target Android SDKs lagging behind by more than 18 months, and (ii) they tend to feature third party libraries that are using non-deferrable alarms.