java层ServiceManager类图
2020-06-17 14:54:14 38 举报
Java层ServiceManager类图
作者其他创作
大纲/内容
ServiceMangerNative
+asInterface(): IServiceManager+getDefault(): IServiceManager+onTransactio()
mObject指向native层BBinder
JavaBBinderHolder
-mBinder
+get()
Binder
-mObject: long
#onTransact(): boolean-execTransact(): boolean+getCallingUid(): native int+getCallingPid(): native int+joinThreadPool()
IBinder
+FLAG_ONEWAY
+transact()+linkToDeath()+unLinkToDeath()
DeathRecipient
+binderDied()
GcWatcher
+finalize()
BBinder
#onTransact()+transact()-localBinder() : BBinder
BinderProxy
-mNativeData
IServiceManager
+addService()+getService()+checkService()
JavaBBinder是BBinder在native层的实现
IInterface
+asBinder() : IBinder
sServiceManager指向ServiceMangerProxy
mRemote指向BinderProxy
mNativeData指向native层BpBinder
BinderInternal
+addGcWatcher()+joijThreadPool()+handleGc()+foreceGc()
BpBinder
-mHandle : int
+transact()+handle() : int+remoteBinder() : BpBinder
JavaBBinder
-mObject
#onTransact()
ServiceManager
-sServiceManager
-getIServiceManger()+getService()+addService()
ServiceManagerProxy
-mRemote: IBinder
mBinder指向JavaBBinder
收藏
收藏
0 条评论
回复 删除
下一页