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. 从NDK在非Root手机上的调试原理探讨Android的安全机制
  2. android实现进程注入
  3. Android体系结构
  4. 初识Android
  5. Gradle for Android(安卓)Developers (二): PackageName 与 Appli
  6. Android核心分析(20)----Android应用程序框架之无边界设计意图
  7. Android进程间通信--消息机制及IPC机制实现
  8. 全家桶!阿里P8大佬熬夜15天,把所有Android第三方库整理成了PDF,附第
  9. 从零开始--系统深入学习android(实践-让我们开始写代码-Android框

随机推荐

  1. Android软件开发之常用系统控件界面大合
  2. Android(安卓)ApiDemos示例解析(66):Grap
  3. Android(安卓)---- WebView与JavaScript
  4. Android(安卓)异步开发之 AsyncQueryHand
  5. 利用ViewDragHelper轻松实现Android拼图
  6. AndroidStudio3.4+ 导入旧版本moudle出现
  7. Android画布和图形绘制---Canvas and Dra
  8. Android(安卓)Studio项目将Module依赖(lib
  9. Android.mk文件语法规范及使用模板
  10. 自定义 ProgressBar 进度条 自定义样式