The first Android phone — the T-Mobile G1 — could run exactly one app at a time. When you pressed Home, the previous app was suspended. When you launched a new app, the old one died. Multitasking meant switching between apps, not running them simultaneously.
Tag: Android
Doze Mode: A Technical Deep Dive
Before Doze, your Android phone was never really asleep. Even with the screen off, apps were syncing, waking the CPU, pinging servers, updating location. An Android phone left idle overnight might lose 8–15% of its battery — to nothing. Background processes were burning through your battery while you slept, and there was nothing you could do about it.
Runtime Permissions: How Android’s Privacy Model Changed
For the first seven years of Android’s existence, installing an app meant accepting every permission it demanded — contacts, location, camera, microphone, SMS — in a single, all-or-nothing dialog that nobody read. A 2014 Carnegie Mellon study found that only 4% of Android users actually looked at the permission screen. The remaining 96% tapped “Accept” and granted apps access to their entire digital lives.
ART Runtime: From Experimental to Mandatory
For the first five years of Android’s existence, every app you opened was compiled on the fly by a virtual machine called Dalvik. It was a Just-in-Time (JIT) compiler — it translated bytecode to native machine code every time an app launched, every time a method was called, every time you scrolled a list. It worked, but it was slow, and it burned battery.