Android Internals for Developers
summary
Android runs on the Linux kernel but adds phone-focused changes: an aggressive OOM killer that trims background apps (example: processes drop from 30 to 26 when the camera opens) and power management via wakelocks. init launches daemons and a Java VM process called zygote forks without exec to spawn app processes each with its own Linux UID sandbox. Inter-process calls marshal into parcels handled by binder parcels via transact/onTransact with AIDL-generated proxy/stub. system_server hosts ActivityManager/WindowManager/PackageManager; ActivityManager scores processes for OOM and routes lifecycle and process creation.
AI-written summary · about
chapters (13)
- 0:00Introduction to Android internals
- 1:22Android vs Linux kernel
- 2:23Kernel and process management
- 5:17Out of memory killer
- 8:31Power management with wakelocks
- 10:14Init process and daemons
- 11:37Zygote and app runtime
- 16:22Binder IPC mechanism
- 25:33System server and core services
- 31:27Activities and process correlation
- 35:27Activity manager and OOM handling
- 39:27Starting a new activity flow
- 42:00Q&A
related talks
40mAndroid Internals
42mAndroid Internals for Developers
43mEmbedded Android #1 - Android Internals
24mAndroid Internals - Package Manager
32mInside Android: Context, Binder IPC, Zygote
41mExploring Android internals with ADB
44mEmbedded Android #4 - Using and Customizing the Android Framework
01h 08mAndroid Plateform Anatomy
