Abstract
Mobile applications have become ubiquitous, adopted by millions of users that register billions of downloads a day. To increase the competitiveness of the mobile software product, developers should care in a very detailed fashion about the qualities demanded by end users, execution targets and mobile markets. One important quality is the ability of the application to consume energy efficiently, as mobile devices are powered by batteries and they hold a very strong autonomy requirement. In this paper, we investigate the impact that the allocation of a software routine has in the overall energy consumption of a mobile device. We implemented software benchmarks in Java and C and we exercised them in different execution scopes of the Android OS runtime. We measured the amount of energy required to complete each job to determine the energy consumed by each routine, and to know in what cases it is advisable to reallocate the processing job from a regular application to an external execution environment.