当前位置:网站首页>ServiceManagerProxy中mRemote变量指的什么?

ServiceManagerProxy中mRemote变量指的什么?

2020-11-10 08:34:12 天王盖地虎626

首先标红的代码Binder.allowBlocking(BinderInternal.getContextObject()),实际上返回的是BinderProxy对象实例

 sServiceManager = ServiceManagerNative
                .asInterface(Binder.allowBlocking(BinderInternal.getContextObject()));

  static public IServiceManager asInterface(IBinder obj)
    {
        if (obj == null) {
            return null;
        }
        IServiceManager in =
            (IServiceManager)obj.queryLocalInterface(descriptor);
        if (in != null) {
            return in;
        }
        
        return new ServiceManagerProxy(obj);
    }

然后继续ServiceManagerProxy,从下面来看,很显然了。

class ServiceManagerProxy implements IServiceManager {
     public ServiceManagerProxy(IBinder remote) {
       
mRemote = remote;
    }

    。。。

    。。。

}

}

版权声明
本文为[天王盖地虎626]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/920274/blog/4708554