美文网首页
Binder原理(一)

Binder原理(一)

作者: 愿你我皆是黑马 | 来源:发表于2022-02-06 23:54 被阅读0次

最近在画各种图,所以这里贴贴图来说明一下


前言

安卓中的Binder是一牵扯比较多的东西,由于内容较多先把bindServer 等 一些流程单独提到下一次补充。其次,虽然自己所掌握的东西感觉还是相对浅显、C++层也不曾涉及。但是这个知识点是一个必须经历的过程。先尽量把自己能想到的点写一下。以便后续补充。


Binder是什么


Binder优势


Binder的通信机制


AIDL文件编译成java文件组成



AIDL编译出来的方法的执行过程(暂时忽略bindService流程)

  • 关于bindService的作用:客户端调用bindService传入ServiceConnection回调接口参数来回调服务连接状态。通过AMS和远程服务通信获取远程服务的IBinder对象,返回给客户端,客户端就可以拿到服务的引用来调用相关方法。
  • 这时客户端拿到上面bindService获取服务端的引用:\color{#34a853}{由于Binder 是通过调用时将内存变化同步给被调用方,从而实现的跨进程通信。所以此引用非彼引用}通过这个引用\color{#4285f4}{调}\color{#ea4335}{用}\color{#fbbc05}{.add(a,b)}\color{#4285f4}{方}\color{#34a853}{法}\color{#ea4335}{的}流程如下

编写AIDL文件一些注意事项

举例

  1. 新建com.a.bean.Person类,并实现Parcelable的 ,java文件Person.java
// Person.java
package com.a.bean;
public class Person implements Parcelable {...}
  1. 编写aidl接⼝文件,Person.aidl
// Person.aidl
package com.a.bean;
parcelable Person;
  1. 编写使用Person bean的aidl文件,PersonAidl.aidl
import com.a.bean.Person;
interface PersonAidl {
 void addPerson(in Person person);
 List<Person> getPersonList();
}

相关文章

  • 超简单的Binder,AIDL和Messenger的原理及使用流

    Binder的原理 要想了解AIDL就需要先了解Binder的原理,所以这里先说一下Binder原理,Binder...

  • Binder机制

    进程间通信方式 Android Binder框架图 Android系统框架 IPC 进程通信原理 Binder原理...

  • Android Binder 学习笔记(未完结)

    Binder学习笔记 1IPC 简单概要理解Binder 原理 Binder 学习笔记 2Binder 中 Ser...

  • 对Binder的实现原理的理解

    写给 Android 应用工程师的 Binder 原理剖析简单理解Binder机制的原理 aidl Android...

  • Java层 Binder笔记相关(一)

    前言: 1.Binder是什么?2.Binder的原理是什么?3.Binder如何实现? 1.Binder是什么?...

  • Binder 原理一

    这篇文章非常棒,推荐 http://www.uml.org.cn/mobiledev/201608013.asp

  • Binder原理(一)

    binder机制是Android进程之间的一大通信手段,相关的文章博客都已经写了很多,这里也不做过多详细深入,只求...

  • Binder原理(一)

    最近在画各种图,所以这里贴贴图来说明一下 前言 安卓中的Binder是一牵扯比较多的东西,由于内容较多先把bind...

  • Android-Binder

    Binder实现原理 用法总结:http://gityuan.com/2015/11/22/binder-use/...

  • 2018-09-04 binder

    【转】图文详解 Android Binder跨进程通信的原理 [【转】](Android Binder机制(超级详...

网友评论

      本文标题:Binder原理(一)

      本文链接:https://www.haomeiwen.com/subject/tnpskrtx.html