Android使用Linux的进程管理机制,以进程为单位分配虚拟地址空间。为了安全考虑,Android的不同进程之间是相互隔离的(进程之间被禁止直接交互)。如果进程间需要通信,必须通过Android的Linux内核提供的IPC机制实现间接通信。Linux使用的进程间通信有Socket、Signal、Pipe、Message Queue、Semaphore、Shared Memory等。但是,这些IPC机制要么效率低下要么不适合封装给上层复用,所以取而代之的是使用Binder。

  Binder是Android对Linux内核层的一个扩展,属于一个字符驱动设备,Android便是通过这个驱动程序实现不同进程之间的间接通信。Android通过对Binder驱动的封装,提供了一套Binder操作的框架,以便暴露给上层使用。这样Binder的概念便不仅仅是一个驱动,而是被拓展为一种架构。通过这种架构,Binder实际上成为了“框架的框架”,Binder框架分成Native层和Java层。

最新文章

  1. java表格的使用 单元格绘制二
  2. php常见问题以及解决方法
  3. Blackfin DSP(五):BF533的SPI接口
  4. [linux]记录如何设置一个新的vps
  5. getComputedStyle()与currentStyle
  6. GetLastInputInfo计时用户离开电脑及软件在指定时间锁定等(转)
  7. OAuth2.0详解
  8. 湖南省第八届大学生程序设计大赛原题 D - 平方根大搜索 UVA 12505 - Searching in sqrt(n)
  9. jedis异常:NoSuchElementException: Timeout waiting for idle object
  10. SQLite学习网址
  11. 一元线性回归分析及java实现
  12. Floating IP in OpenStack Neutron
  13. 使用fontawesome图标
  14. fetch知识点汇总
  15. SSM学习(一)搭建基础框架
  16. MySQL安装后无法用root用户访问的问题
  17. MongoDB with D3.js
  18. 字符串匹配(二)----KMP算法
  19. C# Note36: .NET unit testing framework
  20. leetcode538. Convert BST to Greater Tree

热门文章

  1. nfsv3 vs nfsv4
  2. Spring Cloud Consul综合整理
  3. JasperReports报表组15
  4. 通过BlukLoad的方式快速导入海量数据
  5. No module named 'sklearn.impute',更新scikit-learn
  6. bzoj 4241 历史研究——分块(区间加权众数)
  7. mybatis深入理解(六)-----MyBatis的二级缓存的设计原理
  8. LintCode 两两交换链表中的节点
  9. win7关闭休眠功能,清除Hiberfil.sys
  10. jsp必填项加红色星号