1. A method, implemented at a mobile computing device comprising one or more processors, of achieving a consistent battery drain rate at a mobile computing device, the method comprising: identifying an amount of available energy based on a battery capacity; identifying a target mobile computing device runtime while using the available energy; determining a plurality of time periods over which to budget energy use to achieve the target device runtime while using the available energy; based on the amount of available energy and the target mobile computing device runtime, determining an allotment of the available energy for each of the plurality of time periods; determining how to allocate the allotted energy for a current time period of the plurality of time periods among a plurality of applications executing during the current time period, including: identifying a priority of each application, each application's priority based at least on one or more user-facing attributes of the application; identifying an energy budget of each application; and based at least on the identified priority of each application, and based at least on the energy budget of each application, allocating a portion of the allotted energy for the current time period to each application; and adjusting the energy budget for at least one of the plurality of applications based on that applications' energy usage during the current time period.