Binder原理(一)

2022-02-06  本文已影响0人  愿你我皆是黑马

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


前言

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


Binder是什么


Binder优势


Binder的通信机制


AIDL文件编译成java文件组成



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


编写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();
}
上一篇下一篇

猜你喜欢

热点阅读