参考如下博客内容:
IxxxxService.Stub.asInterface(IBinder obj) :
这个函数是干啥用呢? 首先当bindService之后,客户端会得到一个Binder引用,是Binder 哟,不是IxxxxService.Proxy实例,那这样的话,我们第一个想法是利用Binder引用作为参数实例化出一个 IxxxxService.Proxy。Ok, 但如果服务端和客户端都是在同一个进程呢,还需要利用IPC吗?这样就不需要了,直接将IxxxxService当做普通的对象调用就成了。Google 的同志们他们利用IxxxxService.Stub.asInterface函数对这两种不同的情况进行了统一,也就是不管你是在同一进程还是不同进 程,那么在拿到Binder引用后,调用IxxxxService.Stub.asInterface(IBinder obj) 即可得到一个IxxxxService 实例,然后你只管调用IxxxxService里的函数就成了。
转载于:https://www.cnblogs.com/sun-gogo/p/10642697.html