Android 常用组件通信组件| 青训营笔记

301 阅读2分钟

Android 常用组件通信组件| 青训营笔记

这是我参与「第四届青训营 」笔记创作活动的第五天

Android通信组件

Android通信组件说明
1Handler线程通信
2Binder进程通信

1. Handler

Handler主要用于异步消息的处理: 有点类似辅助类,封装了消息投递、消息处理等接口。当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分在消息队列中逐一将消息取出,然后对消息进行处理,也就是发送消息和接收消息不是同步的处理。 这种机制通常用来处理相对耗时比较长的操作。

Handler基本用法

  1. 创建:新建Handler,实现handleMessage(Message)

  2. 构造Message: what / setData()

  3. 发送:子线程调用Handler.sendMessage(Message)发送Message

  4. 处理:在Handler的handleMessage(Message msg)主线程更新Ul

Handler核心原理

image.png

2. Binder

Android 设计了一个轻量级的进程间通信机制,也称 远程调用机制,Binder 是这个机制中的 远程对象 的基础类。 Binder是Android提供的一套进程间通信框架。

Binder 基本用法

整个流程可以分为两个部分来看,一个是Binder的服务端,一个是Binder的客户端。

服务端
  1. 定义一个AIDL文件
  2. 实现描述的接口,编写service
  3. 如果有实体类,需要提供实体类(jar包形式)
客户端
  1. 拿到AIDL文件
  2. 绑定服务,获得接口持有对象

Binider 核心原理

image.png

image.png

推荐文章

Android 常用组件界面组件(一)| 青训营笔记

Android 常用组件界面组件(二)| 青训营笔记

android 利用Handler机制中SyncBarrier的特性实现预加载

多线程中的ThreadLocal 详解

Android Handler机制了解多少

简单明了,彻底地理解Binder