7hens / okbinder

🎀 a lightweight IPC library that can be used to replace AIDL. 一个轻量级的跨进程通信方案,可以用来替代 AIDL
MIT License
140 stars 17 forks source link

提几个演进的思路 #4

Closed jzlhll closed 4 years ago

jzlhll commented 4 years ago

目前看了下大概的思路,就是通过注解反射AIDL的接口类。实现了一个内置的基础的aidl proxy和binder通信。 然后就是自定义通信数据和函数即可。 相对比较简单。

有没有考虑过几个方向:

  1. 运行时注解变成编译时注解;
  2. 还是需要bindService来实现绑定,而且是否绑定成功?服务死亡通知?可以考虑把这一块丰富以后。多进程通信的稳定性就能提升上来。
7hens commented 4 years ago

@jzlhll 你的理解是对的。 我也有打算把它变成编译时注解,毕竟反射会有点性能损失。 但对于 bindService 这块逻辑,我觉得不加比较好,这样可以保持这个库的简洁单一性。 而且对于 binder 的运用,不一定非要用 bindService,通过 provider 也是可以跨进程通信的,对于这些可以考虑单独建库。