Open happylishang opened 6 years ago
https://elephanty.top//2017/01/07/Android%E5%90%8E%E5%8F%B0%E6%9D%80%E6%AD%BB%E7%B3%BB%E5%88%97%E4%B9%8B%E5%9B%9B-Binder%E8%AE%A3%E5%91%8A%E5%8E%9F%E7%90%86/
Binder是一个类似于C/S架构的通信框架,有时候客户端可能想知道服务端的状态,比如服务端如果挂了,客户端希望能及时的被通知到,而不是等到再起请求服务端的时候才知道,这种场景其实在互为C/S的时候最常用,比如AMS与APP,当APP端进程异常退出的时候,AMS希望能及时知道,不仅仅是清理APP端在AMS中的一些信息,比如ActivityRecord,ServiceRecord等,有时候可能还需要及时恢复一些自启动的Service。Binder实现了一套”死亡讣告”的功能,即:服务端挂了,或者正常退出,Binder驱动会向客户端发送一份讣告,告诉客户端Binder服务挂了。
https://elephanty.top//2017/01/07/Android%E5%90%8E%E5%8F%B0%E6%9D%80%E6%AD%BB%E7%B3%BB%E5%88%97%E4%B9%8B%E5%9B%9B-Binder%E8%AE%A3%E5%91%8A%E5%8E%9F%E7%90%86/
Binder是一个类似于C/S架构的通信框架,有时候客户端可能想知道服务端的状态,比如服务端如果挂了,客户端希望能及时的被通知到,而不是等到再起请求服务端的时候才知道,这种场景其实在互为C/S的时候最常用,比如AMS与APP,当APP端进程异常退出的时候,AMS希望能及时知道,不仅仅是清理APP端在AMS中的一些信息,比如ActivityRecord,ServiceRecord等,有时候可能还需要及时恢复一些自启动的Service。Binder实现了一套”死亡讣告”的功能,即:服务端挂了,或者正常退出,Binder驱动会向客户端发送一份讣告,告诉客户端Binder服务挂了。