Activity启动过程
2017-02-04 15:51:01 0 举报
登录查看完整内容
作者其他创作
大纲/内容
内部类
AcvitityManager
getRunningServices(int maxNum)
ActivityManagerProxy
+startActivity()
boolean transact() {onTransact();}
IActivityManager
IInterface
//mRemote为ActivityManagerNativemRemote.transact();
startActivity流程1. Activity.java: Activity.startActivity()2.Instrumentation.execStartActivity()3.ActivityManagerNative.getDefault().startActivity()4. mRemote.transact();5.ActivityManagerNative.onTransact()6. ActivityManagerService.startActivity()7.ActivityManagerService.startActivityAsUser8.ActivityStackSupervisor.startActivityMayWait9.ActivityStackSupervisor.startActivityLocked10.ActivityStackSupervisor.startActivityUncheckedLocked
Binder
transact()
IBinder
ActivityManagerService
+getDefault()方法实际返回的:ActivityManagerProxy+onTransact()
ActivityManagerNative
绿色为SDK中开放给开发人员的api接口蓝色为代理红色为真正的实现类
0 条评论
回复 删除
下一页