Activity的启动流程
来源:互联网 发布:成都企业网络推广 编辑:程序博客网 时间:2024/05/14 04:21
当我们调用startActivity(intent)的时候,内部走的是startActivityforResult(参数)。startActivityForResult(intent, -1, options);-1表示requestCode为-1.不用返回结果。该方法内部重点是
- Instrumentation.ActivityResult ar =
- mInstrumentation.execStartActivity(
- this, mMainThread.getApplicationThread(), mToken, this,
- intent, requestCode, options);
- 真正打开activity的实现在Instrumentation的execStartActivity方法。execStartActivity有几个重载的函数。真正实现它的是里面的
- IApplicationThread whoThread = (IApplicationThread) contextThread;
- int result = ActivityManagerNative.getDefault()
- .startActivity(whoThread, who.getBasePackageName(), intent,
- intent.resolveTypeIfNeeded(who.getContentResolver()),
- token, target != null ? target.mEmbeddedID : null,
- requestCode, 0, null, null, options);
- //这个方法是专门抛异常的,它会对结果进行检查,如果无法打开activity,
- //则抛出诸如ActivityNotFoundException类似的各种异常
- checkStartActivityResult(result, intent);
- 标红的是重点。IApplicationThread 是由ActivityThread实现的。
阅读全文
0 0
- Activity的启动流程
- Activity的启动流程
- Activity的启动流程
- Activity的启动流程
- activity的启动流程
- Activity的启动流程
- Activity的启动流程
- Activity的启动流程
- Activity的启动流程
- Activity的启动流程
- Activity的启动流程
- Activity的启动流程
- Activity的启动流程
- Activity 的启动流程分析
- Activity的启动流程分析
- 探究Activity的启动流程
- Activity的启动流程(二)
- Activity的启动流程(二)
- 游戏地图寻路算法 -- A*(分析 + 实现 + 教学视频连接)
- [leetcode]609. Find Duplicate File in System
- 用户的控制
- 理解mysql_索引的原理及优化技巧
- 洛谷 P2439 [SDOI2005]阶梯教室设备利用
- Activity的启动流程
- 推土机:汇集modules时,使用make_install时出现错误
- Linux程序员博客如何写作
- 深入理解JVM(八)——字节码执行引擎
- 理解mysql_事务原理及常见优化思路
- 利息计算
- JDK 1.8 新特性 ( 一) ---- Lambda表达式
- 安装软件报错
- 把eclipse环境下tomcat服务器控制台输出转储到特定日志文件