Service通过IBinder返回一个Service. this的实例,底层是怎样的?

如题,Android的 java层的Service,实例建立在VM中,通过IBinder返回一个它的当前实例,实际上底层是怎么实现的? 已知IBinder通过mmap实现IPC

Service. this就是当前Service这个对象的实例,实现是jdk的机制

首先纠正一下,IBinder返回的并不是Service的实例,并且Service的实例即使你写了Get方法也是不可以在其他组件中获得,一旦获得就会报异常。
IBinder是一个接口,该接口已经有类实现了,就是我们常用的Binder类,往往我们需要通过数据传递的时候都是用的Binder对象进行传递的。而在
Activity中获得也就是Binder对象。

Service就是Android提供我们更方便创建Binder服务的方式。
更麻烦的方式是AIDL或者直接手写Binder 服务。