https://www.jianshu.com/p/d155665f81a8

binder是什么?

  • 进程间通信机制
  • 也是一个驱动
  • Binder.java–>实现IBinder–跨进程的能力

自己创建的进程 webView 视频播放、音乐、大图浏览、推送。
系统服务:打电话、闹钟等等。

多进程的优点:

  1. 内存:一个app.6g,8g,16g。
  2. 风险隔离:一个进程奔溃了,其它的进程不会被牵连,很久之前chrome浏览器一个网页标签一个线程,导致一个网页奔溃会祸及其它的网页,后面一个网页对应一个进程,这个问题就解决了。

Linux进程间通信的方式:

  • socket

既然Linux已经有它的进程间通信方式为什么还要使用Binder?

1. Binder与传统IPC对比?

  • Binder小于共享内存 优于其他IPC进程间通信
  • 共享内存控制麻烦,易用性差
  • Binder系统分配UID更安全

Binder是如何做到一次拷贝的?

mmap?memory map 内存映射

共享内存

Binder驱动设备

misc设备