Android Internals
summary
Android is Linux‑kernel based but diverges in concrete ways: two kernel changes are the out‑of‑memory killer that ranks and reaps processes (example: ~30 background processes vanish when the camera opens) and power management via wakelocks. App startup uses a preinitialized JVM/ART zygote fork to save time and memory; interprocess calls go through Binder with transact/onTransact and AIDL‑generated proxy/stub; system_server’s managers set oom priorities and drive lifecycle decisions.
AI-written summary · about
chapters (19)
- 0:00Intro
- 0:23Android is based on Linux
- 6:30Kernel
- 8:27Init
- 18:09Binder
- 19:29AIDL tool
- 19:58Connectivity Manager.java- Proxy
- 23:05Managers in system server
- 25:24Responsiblities
- 26:26Managing applications
- 29:30Managing Lifecycle
- 35:05Find the correct activity
- 36:16Create a new Activity Record
- 36:35Talk to Window Manager to do things
- 37:01Resume the top activity
- 37:17Decide if we already have a process to use
- 37:30Create a new process if we don't
- 37:43Start a new process with Zygote
- 38:06When Zygote "calls back"-attach the correct activity
related talks
43mAndroid Internals for Developers
42mAndroid Internals for Developers
43mEmbedded Android #1 - Android Internals
32mInside Android: Context, Binder IPC, Zygote
24mAndroid Internals - Package Manager
46mOpening Keynote: Android Then & Now
41mExploring Android internals with ADB
34mAndroid or the ART of Optimizing Java Code
