一些收藏Android开发

Binder 之 oneway 机制

2021-02-02  本文已影响0人  青叶小小

Binder 是 Android 中的 IPC(进程间通信)的最要一环,它的作用就是:

像一些系统服务调用应用进程的时候就会使用 oneway,比如 AMS 调用应用进程启动 Activity,这样就算应用进程中做了耗时的任务,也不会阻塞系统服务的运行。

本篇不展开它是如何通信的,只聊聊它的机制,分两种:

首先是非 oneway 的情况:

non-one-way.png

这里的挂起相当于 Thread 的 sleep,是真正的"休眠",底层调用的是 waitEventInterruptible(), Linux 系统函数。

oneway 的情况,客户端就不需要挂起线程等待:

one-way.png

写在最后,涉及到的 binder 命令也有规律:

上一篇 下一篇

猜你喜欢

热点阅读