Empowering Developers to Estimate App Energy Consumption
Battery life is a critical performance and user experience metric on mobile devices. However, it is difficult for app developers to measure the energy used by their apps, and to explore how energy use might change with conditions that vary outside of the developer’s control such as network congestion, choice of mobile operator, and user settings for screen brightness. These problems become even more challenging because a large fraction of mobile apps are developed by small companies, freelance developers, or start-ups without extensive laboratory infrastructure or expertise for power measurement. We present an energy emulation tool that allows developers to estimate the energy use for their mobile apps on their development workstation itself. The proposed techniques scale the emulated resources including the processing speed and network characteristics to match the app behavior to that on a real mobile device. We also enable exploring multiple operating conditions that the developers cannot easily reproduce in their lab. The estimation of energy relies on power models for various components, and we also add new power models for components not modeled in prior works such as AMOLED displays. We also present a prototype implementation of this tool and evaluate it through comparisons with real device energy measurements.