Activity的启动过程,我们可以从context的startActivity说起,其实实现的是contextImpl的startActivity,然后内部会通过Instrumentation来尝试启动Activity,他会调用AMS的startActivity方法,这是一个跨进程的过程。当AMS校验完Activity的合法性之后,会通过ApplicationThread来回调我们的进程,这也是一次跨进程的过程。而ApplicationThread就是一个binder,回调逻辑在binder线程池中完成,所以需要通过handler H 将其切换到UI线程,第一个消息是LAUNCH_ACTIVITY,他对应的是handleLaunchActivity,在这个方法中完成了Activity的创建和启动。
Activity 启动流程
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- /** TODO Activity启动流程 https://blog.csdn.net/u012267215/ar...