ActivityManager
2016-09-21 14:27:13 0 举报
Android ActivityManagerService
作者其他创作
大纲/内容
ActivityManagerNative
+ asInterface(IBinder obj)+ getDefault()+ asBinder()+ onTransact()
android.app.ActivityThread.attach(boolean)
android.app.Instrumentation.callActivityOnResume(Activity)
Binder
ApplicationThreadNative
IApplicationThread
+ scheduleLaunchActivity+ scheduleResumeActivity+ scheduleCreateService+ scheduleBindService
接收到消息之后handleBindApplication(data);
mStackSupervisor.attachApplicationLocked(app)
r.activity.performResume();
ActivityManagerService
等同于Aidl中生成的Proxy类
final void setOuterContext(Context context) { mOuterContext = context; }//3.将application注入appContext
ApplicationThreadProxy
+ asBinder()
最终调用的方法:android.os.Process.startViaZygoteStarts a new process via the zygote mechanism.通过zygote的机制生成一个进程
ActivityManagerProxy
IActivityManager
+ startActivity+ registerReceiver+ startService+ bindService
startActivity()
定义的一些远程调用的接口System private API for talking with the activity manager service. This provides calls from the application back to the activity manager.
ApplicationThread
com.android.server.am.ActivityManagerService.attachApplication(IApplicationThread)
从点击startactivity开始到activity的onCreate方法的整个流程
收藏
0 条评论
下一页
为你推荐
查看更多