以下几篇文章是分析binder机制里讲得还算清楚的

目录

1. Android - Binder机制 - ServiceManager

2. Android - Binder机制 - 普通service注册

3. Android - Binder机制 - 获得普通service

4. Android - Binder机制 - client和普通service交互

5. Android - Binder机制 - Binder框架总结

6. Android - Binder机制 - ProcessState和IPCThreadState

7. Android - Binder机制 - 驱动

以下几篇讲得更深入透彻,尤其是讲了传输机制的细节:

红茶一杯话Binder(初始篇)

红茶一杯话Binder(ServiceManager篇)

红茶一杯话Binder(传输机制篇_上)

红茶一杯话Binder(传输机制篇_中)

红茶一杯话Binder(传输机制篇_下)

以下几篇包含测试代码,包括native binder, framework binder , app binder 不同层面的binder 框架和使用:

《service manager和binder service的关系》

阐述了servicemanager和binder service的关系,并说明了servicemananger,binder service的服务端,客户端程序运行时各自所在进程

《Binder service入门–创建native binder service》

用实例说明如何创建native binder service的服务端和客户端,并说明了如何编译以及运行程序,代码在github上可下载。

《Binder service入门—Framework binder service》

用实例说明如何创建framework层 binder service的服务端和客户端,并说明了如何编译以及运行程序,代码在github上可下载

《Binder service入门—应用层binder service》

用实例说明如何创建应用层binder service的服务端和客户端,并说明了如何编译以及运行程序,代码在github上可下载

《Binder service入门—框架层、应用层调用native binder service》

综合运用了前面几篇博客的知识,用实例说明了如何在框架层,应用层调用native binder service,所有代码均可在github上下载

《Binder 机制详解—Binder IPC 程序结构》

从本篇博客开始分析binder机制,简单介绍了binder机制运行时服务端,客户端和servicemananger的关系

《Binder 机制详解—Binder 系统架构》

分析了Binder系统架构,层次划分,并着重分析了Binder Adaper层和Binder的核心部分

《本地Binder框架通信原理》

分析了binder本地框架通信原理,主要就两个重要函数调用流程进行分析,分析了如何获得servicemananger的IBinder指针,还分析了客户端如何获得IBinder指针

《Binder 机制详解—Binder 本地框架》

分析了Binder本地框架各个类之间的关系,以及IServiceManager相关类之间的关系

《Binder 机制详解—Binder Java框架》

分析了Binder Java框架各个类之间的关系,并分析了Binder java框架的相关Jni源码,给出了Java层Binder,BinderProxy,Parcel和本地的BnBinder,BpBinder,Parcel之间的关系。

《Java层Binder框架通信原理》

分析了Java层Binder框架通信原理,主要分析了Java层如何获得IServiceManager对象,和Java层如何获得IBinder接口对象,还分析了Java层binder的数据流动

【转】Android - Binder机制的更多相关文章

  1. Android Binder机制彻底梳理二

    根据AIDL了解整体调用流程[重点分析AIDL流程]: 在上一次https://www.cnblogs.com/webor2006/p/11741743.html中我们已经对Android Binde ...

  2. 浅谈android binder机制

    binder机制 是谷歌优化在android上更适合终端的IPC(多进程通信方式),满足系统对通信方式,传输性能和安全性的要求. 特性: 1. 用驱动程序来推进进程间的通信.2. 通过共享内存来提高性 ...

  3. Android Binder机制简单了解

    Binder -- 一种进程间通信(IPC)机制, 基于OpenBinder来实现 毫无疑问, 老罗的文章是不得不看的 Android进程间通信(IPC)机制Binder简要介绍和学习计划 浅谈Ser ...

  4. android binder机制之——(创建binder服务)

      Binder机制编程 前面的几篇文章具体介绍了android中binder机制的方方面面,相信你对binder机制已经有了较深刻的理解.俗话说得好"学以致用",以下我们就通过在 ...

  5. Android Binder机制详解:手写IPC通信

    想要掌握一样东西,最好的方式就是阅读理解它的源码.想要掌握Android Binder,最好的方式就是写一个AIDL文件,然后查看其生成的代码.本文的思路也是来自于此. 简介 Binder是Andro ...

  6. Android binder机制---概述

    1.进程间通讯的原因 目前操作系统都使用虚拟存储技术,管理内存. 假设是32位机器,0-3G是用户空间,3-4G是系统使用.虚拟内存和逻辑内存都按4K分页.这样虚拟内存和逻辑内存就存在对应关系. 一个 ...

  7. android binder机制详解

    摘要 Binder是android中一个很重要且很复杂的概念,它在系统的整体运作中发挥着极其重要的作用,不过本文并不打算从深层次分析Binder机制,有两点原因:1是目前网上已经有2篇很好的文章了,2 ...

  8. ANDROID BINDER机制浅析

    Binder是Android上一种IPC机制,重要且较难理解.由于Linux上标准IPC在灵活和可靠性存在一定不足,Google基于OpenBinder的设计和构想实现了Binder. 本文只简单介绍 ...

  9. android Binder机制(一)架构设计

    Binder 架构设计 Binder 被设计出来是解决 Android IPC(进程间通信) 问题的.Binder 将两个进程间交互的理解为 Client 向 Server 进行通信. 如下:bind ...

随机推荐

  1. CentOS 不间断会话(ssh关闭后如何保证程序继续运行)(nohup和screen)

    当使用ssh与远程主机的会话被关闭时,在远程主机上运行的命令也随之被中断. 就是ssh 打开以后,bash等都是他的子程序,一旦ssh关闭,系统将所有相关进程杀掉!! 导致一旦ssh关闭,执行中的任务 ...

  2. hdu1950 Bridging signals

    LIS nlogn的时间复杂度,之前没有写过. 思路是d[i]保存长度为i的单调不下降子序列末尾的最小值. 更新时候,如果a[i]>d[len],(len为目前最长的单调不下降子序列) d[++ ...

  3. POJ1816:Wild Words——题解

    http://poj.org/problem?id=1816 比较麻烦的trie. 首先你需要选择针对n还是m建立trie,这里我选择了针对n. 那么就需要面临卡空间的问题. 这里提供了一种链式前向星 ...

  4. [bzoj] 3669 NOI2014 魔法森林 || LCT

    原题 copy一篇题解:原链接 将边按照a排序,然后从小到大枚举,加入图中. 在图中用lct维护一棵两点之间b最大值尽量小的生成树. 当加入一条边(u, v)时: 如果(u, v)不连通,则直接加入这 ...

  5. HTTPS证书生成方法,也适用于APP

    步骤: 一.登录服务器,创建ioscert目录 cd ~/servers/APP mkdir ioscert 二.cd到ioscert目录下,执行以下命令: 1.openssl genrsa -out ...

  6. BZOJ2242 [SDOI2011]计算器 【BSGS】

    2242: [SDOI2011]计算器 Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 4741  Solved: 1796 [Submit][Sta ...

  7. LG. 1003 铺地毯

    LG. 1003 铺地毯 题意分析 给出平面中地毯的左上角坐标和长宽,然后给出一点(x,y).求此点最上面是哪个地毯的编号,若没被覆盖则输出-1. 将所有地毯的信息存在一个结构体中,由于后埔地毯在上面 ...

  8. 【算法】【网络流24题】巨坑待填(成功TJ,有时间再填)

    ------------------------------------------------------------------------------------ 17/24 --------- ...

  9. Java编程MapReduce实现WordCount

    Java编程MapReduce实现WordCount 1.编写Mapper package net.toocruel.yarn.mapreduce.wordcount; import org.apac ...

  10. git 回退

    回退命令: $ git reset --hard HEAD^ 回退到上个版本$ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前 $ git rese ...