Xiaofei-it / Hermes

A smart, novel and easy-to-use framework for Android Inter-Process Communication (IPC). (简单易用的安卓进程间通信IPC框架)
Other
1.27k stars 193 forks source link

关于这个库的个人理解~ #11

Open fashare2015 opened 7 years ago

fashare2015 commented 7 years ago
@ClassId(“Singleton”)
public interface ISingleton {

    @MethodId(“setData”)
    void setData(String data);

    @MethodId(“getData”)
    String getData();

}

@ClassId(“Singleton”)
public class Singleton {
    ...

    @MethodId(“setData”)
    public void setData(String data) {
        mData = data;
    }

    @MethodId(“getData”)
    public String getData() {
        return mData;
    }

}
  1. ISingleton 基本就是 java 版的 AIDL
  2. Singleton 可以看做 extends ISingleton.Stub (代入到AIDL视角的话)
  3. 底层由 Service + Binder 实现
  4. 使用了动态代理,某种程度上有点像Retrofit

不知道有没有理解偏了。

Xiaofei-it commented 7 years ago

@fashare2015 对,你的理解没错。^.^

主要是把android binder机制封装一下,让用户不用关心底层通信原理,这样IPC开发就可以变得简单。

ivanyang1984 commented 7 years ago

请问一下 annotation上面写的classId 要写package 名字吗