I Turned Android Into a City

Every explanation of Android’s internals I’ve ever read is a stack of boxes. Zygote in one box, system_server in another, arrows between them, and you...

Your CPU Looks Up Every Address Twice

Reading a variable feels like one step. The variable lives at some address, so the CPU goes to that address and grabs the bytes. One...

Every Android App Shares One Copy of the Runtime

A program has to be in memory to run, since the CPU fetches its instructions from RAM and nowhere else. So when you tap an...

Your Android App Isn't Compiled When You Install It

Install an app from the Play Store, tap its icon, and it opens and works right away the first time, with no “compiling…” step you...

How OkHttp Avoids Duplicate Connections Without a Lock

Say your app starts up and sends three requests to the same host at almost the same time, three different pieces of data your screen...