美文网首页程序人生
通过语言描述和画图来说明Activity的启动过程

通过语言描述和画图来说明Activity的启动过程

作者: 289346a467da | 来源:发表于2018-04-05 17:17 被阅读20次

    Activity的启动过程,要说清楚需要用一篇文章来描述,当时在面试过程中问到这个问题需要用简洁的语言来说明:
    我们可以从Context.startActivity来说起,实际上是ContextImpl.startActivity来实现的,然后内部会通过Instrumentation来尝试启动Activity,这是一个跨进程过程,它会调用AMS的startActivity方法,当AMS校验完Activity的合法性后,会通过ApplicationThread回调到我们的进程,这也是一次跨进程过程,而ApplicationThread就是一个Binder。回调逻辑是在Binder线程池中完成,所以需要通过Handler H 将其切回UI线程,第一个消息是LAUNCH_ACTIVITY,它对应着handleLaunchActivity,在这个方法里面完成Activity的创建和启动。接着,在Activity的onResume中,Activity的内容将开始渲染到Window上面,然后开始绘制直到我们可以看见。

    image.png

    相关文章

      网友评论

        本文标题:通过语言描述和画图来说明Activity的启动过程

        本文链接:https://www.haomeiwen.com/subject/hgkdhftx.html