【Android】onActivityResult()和onResume()的调用顺序问题
2015-09-18 17:16
537 查看
在Android生命周期中,如果使用到startActivityForResult(),则在新Activity被finish掉之后,onActivityResult()和onResume()到底是哪一个先调用的呢?
我们来看官方源码:
从上面的源码注释第二段可以看到:You will receive this call immediately before onResume() when your activity is re-starting. 所以很明显,在activity重新恢复启动的时候,onActivityResult()会在onResume()之前调用完毕。
而且,onActivityResult()还会在onStart()之前调用完毕。经过断点调试,发现它们三者的调用顺序如下:
onActivityResult() -> onStart() -> onResume()
我们来看官方源码:
/** * Called when an activity you launched exits, giving you the requestCode * you started it with, the resultCode it returned, and any additional * data from it. The <var>resultCode</var> will be * {@link #RESULT_CANCELED} if the activity explicitly returned that, * didn't return any result, or crashed during its operation. * * <p>You will receive this call immediately before onResume() when your * activity is re-starting. * * <p>This method is never invoked if your activity sets * {@link android.R.styleable#AndroidManifestActivity_noHistory noHistory} to * <code>true</code>. * * @param requestCode The integer request code originally supplied to * startActivityForResult(), allowing you to identify who this * result came from. * @param resultCode The integer result code returned by the child activity * through its setResult(). * @param data An Intent, which can return result data to the caller * (various data can be attached to Intent "extras"). * * @see #startActivityForResult * @see #createPendingResult * @see #setResult(int) */ protected void onActivityResult(int requestCode, int resultCode, Intent data) { }
从上面的源码注释第二段可以看到:You will receive this call immediately before onResume() when your activity is re-starting. 所以很明显,在activity重新恢复启动的时候,onActivityResult()会在onResume()之前调用完毕。
而且,onActivityResult()还会在onStart()之前调用完毕。经过断点调试,发现它们三者的调用顺序如下:
onActivityResult() -> onStart() -> onResume()
相关文章推荐
- Android贴吧系统学习-----对时间的处理方法
- Android实战简易教程-第六十枪(分享一个城市选择功能模块)
- Android自动滚动 轮播循环的ViewPager
- android volume level adjustment
- TextView的跑马灯显示
- SEAndroid中sepolicy/adbd.te策略文件分析
- Android数据适配器(Adapter)优化:高效ViewHolder
- Android加载通话记录流程分析
- 使用Gradle构建Android工程
- Android 经验
- android学习历程,自定义listview并从服务器端获取数据填充进listview
- Android的intent之间复杂参数的传递
- Android常用开源组件
- android EditText问题多行文本输入
- android framework 重启LOG分析方法
- android开关屏幕
- Android 开源项目分类汇总
- android中相机的简单调用
- Android中一个textviewz中的字符串俩个颜色显示
- Android layout属性大全