Tech News
← Back to articles

The Android IRS: How Google once tried to tax battery-sucking background apps

read original related products more articles

Mishaal Rahman / Android Authority

There are three things that are certain in life: death, taxes, and Google restricting background work. With every new Android release, Google seemingly further restricts what apps running in the background can do. This is understandable because battery power is a finite commodity on Android phones, so allowing apps to do whatever they want whenever they want would be detrimental to battery life. To prevent rogue applications from draining your phone’s battery, the Android OS implements a number of battery management tactics to control when apps can run and how long they can run.

Apps that need to perform critical, real-time tasks like downloading a file, tracking a run, or playing music can create a foreground service, but in order to do so, they must show a notification so users are aware. Instead of creating a foreground service, Google recommends most developers use APIs like JobScheduler and AlarmManager (or a higher-level wrapper, like WorkManager) to queue tasks in the background.

Google A flowchat showing how apps schedule tasks through the WorkManager API.

Based on the API that’s used and the parameters that are sent, Android will execute tasks at or near a set time (AlarmManager) or at a time that is optimal for the device’s battery (JobScheduler). The problem is that while the OS does intelligently decide when to run tasks, it does not intelligently quantify the actual battery cost of those tasks or limit the total volume of work accordingly. Arbitrary limits (like 150 jobs per app) still allow for significant power use, consuming a scarce commodity — battery power.

In an attempt to address this limitation and maximize battery life, Google envisioned The Android Resource Economy (TARE), a major reworking of how the system manages background work. TARE sought to apply macroeconomic principles to resource management, treating battery power as a finite commodity that must be allocated efficiently. It quite literally creates a virtual economy, complete with currency, costs, wages, and regulations, to ensure that the finite supply of battery power is efficiently allocated to the tasks that provide the most value to the user.

Although Google scrapped TARE last year, I thought it would be interesting to explore what might have been. In this post, I’ll be diving deep into TARE and explain exactly how Google planned to tax battery-draining Android apps. You’re reading the Authority Insights Newsletter, a weekly newsletter that reveals some new facet of Android that hasn’t been reported on anywhere else. If you’re looking for the latest scoops, the hottest leaks, and breaking news on Google’s Android operating system and other mobile tech topics, then we’ve got you covered.

Subscribe here to get this post delivered to your email inbox every Saturday.

The Android Resource Economy: A Non-Central Banker’s Retrospective The Android Resource Economy significantly tweaks how tasks are executed when they’re queued via the AlarmManager and JobScheduler APIs. It creates a virtual economy managed by a central authority known as the IRS, short for the Internal Resource Service (an obvious play on the American Internal Revenue Service). The IRS acts as both a central bank and a regulatory body, determining the money supply, setting prices, and enforcing regulations.

Under TARE, Android utilizes a virtual currency called “Android Resource Credits” (ARCs). Apps need a balance of ARCs to “purchase” the ability to run background tasks. (Android also used “Cakes” as a smaller denomination, where 1,000,000,000 Cakes — a Giga-Cake — is equal to 1 ARC. Yes, this is a dual-layered joke invoking the “cake is a lie” meme and the “let them eat cake” quote.)

... continue reading