Deep Dive into Android IPC/Binder Framework
summary
Explains how Android’s Binder implements IPC end-to-end: AIDL-generated proxies/stubs marshal Parcels, the kernel driver maps unique binder handles, and the service manager provides discovery. Notes concrete limits and techniques: 1 MB parcel limit for data transfers, 15 binder threads per process, passing file descriptors and ibinder references, and using ashmem for large shared memory. Shows a hands-on example with a Fibonacci Tachi demo (Java/C++ recursive vs iterative) and deployment details.
AI-written summary · about
chapters (36)
- 0:00Introduction
- 3:33Binder Framework
- 5:31What is IPC
- 6:34Why Binder
- 8:29What is Binder
- 9:34Features of Binder
- 12:23Binder is not IPC
- 13:34Why use Binder
- 15:28Messenger
- 17:17Binder terminology
- 18:33Binder services
- 22:56ReadWrite
- 26:14Managers
- 27:55Context Manager
- 30:01Service List
- 30:22Service Manager Diagram
- 34:46Location Stack Diagram
- 36:14What is IDL
- 37:46What is AIL
- 38:59Data Types
- 40:21Parcel
- 41:21Binder
- 43:52Example
- 44:38Application
- 47:08Service
- 48:38Service Manager
- 49:15Client
- 50:18Asynchronous
- 51:16Sharing Memory
- 51:40Limitations
- 52:12Security
- 53:02Permission Enforcement
- 53:45Death Notification
- 54:32accession
- 55:05other resources
- 55:30wrap up
related talks
01h 03mIPC: AIDL Is Not a Bad Word
15mBinder: fixing contention in buffer allocations
43mEmbedded Android #1 - Android Internals
42mAndroid Internals for Developers
40mAndroid Internals
32mMan in the Binder: He Who Controls IPC, Controls the Droid
44mEmbedded Android #4 - Using and Customizing the Android Framework
32mInside Android: Context, Binder IPC, Zygote
