An Investigation into Energy-Saving Programming Practices for Android Smartphone App Development

Author(s): Ding Li and William G. J. Halfond
Venue: International Conference on Software Engineering
Date: 2014

Type of Experiement: Controlled Experiment
Sample Size: 1000
Class/Experience Level: Graduate Student
Participant Selection: N/a
Data Collection Method: Code Metric


This study attempts to outline potential energy saving hypothesis for the Android Operating System. Mainly, energy-saving is referring to battery in this context. Things like bundling HTTP requests, higher memory usages, and general performance oriented programming techniques are applied to see the effects on various battery consumption. There was a small experiment in each case. They find that bundling HTTP requests do help, since HTTP requests have a baseline package amount (consider the constant value) but then also a linear relationship with the data. Smaller HTTP requests flatline since they are just the constant value, but bundled values will start to increase over a linear relationship. In terms of memory usage, they find that while memory is not free, extremely high memory usages do not linearly translate to battery usage. This is most likely due to the parallel cores in the processors, so the battery doesn't need as much direct help.
In terms of the performance oriented techniques, they found implementing performance OOP protocols reduce energy consumption by roughly 30% on average which is a significant amount.