欢迎访问我的个人博客,原文链接:http://wensibo.top/2017/07/03/Binder/ ,未经允许不得转载!

大家好,今天想与大家一起分享的是Activity。我们平时接触的最多的就是Activity了,作为四大组件中最为重要的老大,Activity究竟是如何启动的呢?这篇文章将会从源码的角度为大家进行全方位的解析,为了方便大家理解整个的过程,我会用流程图的方式将整个过程串起来,希望对大家有所帮助。

开始吧!

一般我们启动Activity有两种方法,这里我就不再详细说这两种方法的用法了,不过他们都是调用了同样的一个逻辑startActivity。所以我们分析Activity的启动流程就从这个方法开始。

 public void startActivity(Intent intent, @Nullable Bundle options) {    if (options != null) {        startActivityForResult(intent, -1, options);
    } else {        startActivityForResult(intent, -1);
    }
}

可以看到尽管startActivity()有多种重载方式,但是最终调用的还是startActivityForResult,所以我们只需要看startActivityForResult里面的实现逻辑即可。这里需要注意的一点就是调用了startActivityForResult方法时传入的一个参数为

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式