Skip to content

Commit 3f1f44e

Browse files
committed
feat: 增加Binder机制-背景和应用层
1 parent c276361 commit 3f1f44e

File tree

2 files changed

+25
-8
lines changed

2 files changed

+25
-8
lines changed

5. 常见机制/Binder机制.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Binder
2+
### 前言
3+
4+
Binder 是 Android 提供的一种进程间通信机制,它是整个 Android 系统的核心,Android 能进行如此丰富自由的多进程开发也多基于 Binder 机制,一句话,“无 Binder 不 Android”。
5+
6+
但是 Binder 却很难搞明白,复杂程度也远远不是几篇文章就能说清楚的。
7+
8+
我们先从背景入手,理解 Binder 的地位和不可替代性。 --> 再站在高处俯瞰 Binder 的设计,形成一个完整的概念。 --> 再深入理解 Binder 实现原理。
9+
10+
### 背景
11+
12+
- [为什么 Android 要采用 Binder 作为 IPC 机制?](https://www.zhihu.com/question/39440766)
13+
> Android 的内核基于 Linux,在 Linux 中进程间通讯的方式有很多种:管道、FIFO、消息队列、信号量、共享内存及 Socket(Linux进程间通信),为什么不直接采用 Linux 现有的 IPC 方案?看完这个回答你就有了答案。
14+
15+
### 应用层
16+
17+
- [写给 Android 应用工程师的 Binder 原理剖析](https://juejin.im/post/5acccf845188255c3201100f)
18+
> 图文并茂,写得通俗易懂,可以说是初步掌握Binder的必读博文
19+
20+
- [Android Bander设计与实现 - 设计篇](https://blog.csdn.net/universus/article/details/6211589)
21+
> Binder的文章有很多,但多数是从源码角度去分析。源码分析有一个问题就是,细节太多了,特别初接触Binder的话,是很难聚焦到某个具体问题上的,导致很难总结出Binder这套IPC的设计理念和核心结构。所以我强烈推荐这篇文章,一针见血且简单明了。八年过去了,我觉得至今有很多文章都赶不上这篇旧文。
22+
23+
### 底层

SUMMARY.md

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -223,15 +223,9 @@
223223

224224
* RxJava
225225

226-
* 进程
227-
228-
* IPC通信Binder
229-
230-
* AIDL
226+
* [Binder机制](5. 常见机制/Binder机制.md)
231227

232-
* 序列化
233-
234-
* 匿名共享内存
228+
* 进程
235229

236230
* lowmemorykiller 
237231

0 commit comments

Comments
 (0)