Activity 启动流程 api 25

31 篇文章 0 订阅
10 篇文章 0 订阅

Activity 生命周期的处理:

schedule
handle
perform

onCreate 的调用流程:

startActivity【Activity】
startActivityForResult
    mInstrumentation.execStartActivity【Instrumentation】
        ActivityManagerNative.getDefault().startActivity【AMS】
        startActivityAsUser
            mActivityStarter.startActivityMayWait【ActivityStarter】
            startActivityLocked
            startActivityUnChecked
                mSupervisor.resumeFocusedStackTopActivityLocked()【ActivityStackSupervisor】(在最后,比较难找)
                    targetStack.resumeTopActivityUncheckedLocked【ActivityStack】
                    resumeTopActivityInnerLocked
                mStackSupervisor.startSpecificActivityLocked【ActivityStackSupervisor】
                realStartActivityLocked
                    app.thread.scheduleLaunchActivity【ApplicationThread】
                        handleLaunchActivity【ActivityThread】
                        performLaunchActivity
    mInstrumentation.callActivityOnCreate【Instrumentation】
activity.performCreate【Activity】
onCreate

onCreate 之前的操作:

app.thread.scheduleLaunchActivity【ApplicationThread】
    ==>handleLaunchActivity【ActivityThread】
        ==>performLaunchActivity
            ==>mInstrumentation.newActivity // 创建 Activity
            -->r.packageInfo.makeApplication // 创建 Application
            -->activity.attach // 绑定 ContextImpl
            -->mInstrumentation.callActivityOnCreate // 调用 onCreate

onStart 的调用流程:

app.thread.scheduleLaunchActivity【ApplicationThread】
    handleLaunchActivity【ActivityThread】
    performLaunchActivity
        activity.performStart【Activity】
        onStart

onResume 的调用流程:

app.thread.scheduleLaunchActivity【ApplicationThread】
    handleLaunchActivity【ActivityThread】
    handleResumeActivity
    performResumeActivity
        r.activity.performResume【Activity】
        onResume

onCreate、onStart、onResume 的调用时序:

app.thread.scheduleLaunchActivity【ApplicationThread】
    ==>handleLaunchActivity【ActivityThread】
        ==>performLaunchActivity
            ==>mInstrumentation.callActivityOnCreate【Instrumentation】
                ==>activity.performCreate
            -->activity.performStart
        -->handleResumeActivity
            ==>r.activity.performResume
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值