Zygote
How Android works

system_server

One process, a hundred services, and almost everything you call.

6 pages74 min6 interactive10700 words
  1. 01What system_server isOne Java process hosts most of the framework's services, is forked from Zygote at boot, and takes the whole UI down with it when it dies. This is what lives inside it and why it is shaped that way.intermediate13 mininteractive
  2. 02Activity and task managementTwo services divide the work of running apps: ActivityTaskManager owns activities and the back stack, and ActivityManager owns processes and everything else. The split explains most of what a launch actually costs.intermediate12 mininteractive
  3. 03The Package ManagerPackageManagerService is where an APK becomes an app: it parses the manifest, verifies the signature, assigns the UID, records the permissions, and answers every intent-resolution question afterwards.intermediate12 mininteractive
  4. 04The Window Manager, at a glanceWindowManagerService decides where every visible rectangle goes, what it may overlap, and which areas other windows are allowed to draw in. It is the system's geometry authority, and it never draws a pixel.intermediate11 mininteractive
  5. 05Managers and services: the patternEvery framework feature is built the same way: a cheap client object you hold, a Binder proxy you never see, and a service in system_server that does the work. Learn the pattern once and a hundred APIs become predictable.intermediate13 mininteractive
  6. 06A dumpsys tourdumpsys is the most useful command on Android because almost every service implements one method: dump. This is how it works, and what to read in the six dumps that answer most questions.intermediate13 mininteractive

Test yourself

Test yourself: system_server

1 / 8

Why does the window manager's layout get recomputed so often?

0 answered · 0 correct