Android10.0源码分析——Activity启动流程
2020-09-11 17:50:46 0 举报
Android10.0源码分析——Activity启动流程
作者其他创作
大纲/内容
这里加入了LaunchActivityItemResumeActivityItemPauseActivityItem
handleBindApplication(data);
ActivityThread
ClientLifecycleManager
是ActivityThread
ViewRootImpl
execute(ClientTransaction transaction)
AMS
thread为IApplicationThread
ActivityTaskManagerService
executeCallbacks(transaction);
ResumeActivityItem
performTraversals();
ClientTransaction
mStackSupervisor.attachApplicationLocked(app)
scheduleTraversals();
创建本身创建Application
scheduleTransaction(ClientTransaction transaction)
scheduleTransaction(ClientTransaction transaction)
mAtmInternal.attachApplication(app.getWindowProcessController())
创建线程
WindowManagerGlobal
TransactionExecutor
LaunchActivityItem
ActivityManagerService
attachApplicationLocked
requestLayout();
thread.bindApplication
executeLifecycleState(transaction);
doTraversal();
attachApplication
final IActivityManager mgr = ActivityManager.getService();
获取之前加入的LauchActivityItem
ClientTransactionHandler
mInstrumentation.onCreate(data.instrumentationArgs);...mInstrumentation.callApplicationOnCreate(app);
获取之前加入的ResumeActivityItem
main(String[] args)
attachApplicationLocked(ProcessRecord app)
final ClientTransaction transaction = (ClientTransaction) msg.obj; mTransactionExecutor.execute(transaction);
schedule()
attachApplication(WindowProcessController)
ViewManagerWindowManagerImpl
mService.getLifecycleManager().scheduleTransaction(clientTransaction);
mClient.scheduleTransaction(this)
StackSupervisor
0 条评论
下一页