前段时间被activity的启动模式和intent传值问题纠结了不少时间,有必要进行一下总结和学习,日后也好回来复习,下图中MainActivity简称A,TwoActivity简称B。
一.activity A和B启动模式都是默认(即没在manifest文件中设置),调用startActivity函数
在这样情况下,从A跳转到B,在B中点击返回键,执行的生命周期函数分别是
这种情况是没有任何疑问的,我们应该都清楚。
二.activity A和B启动模式都是默认(即没在manifest文件中设置),调用startActivityForResult函数
在这种情况下,从A跳转到B,在B中点击返回键,执行的生命周期函数分别是
可见,onActivityResult方法在A的onResume方法之前,同时也在A的onRestart和onStart方法之前(本人之前没注意onActivityResult和onResume先后顺序,导致浪费了好多时间)。
三.activity A设置为singleTop或者singleTask,B保持默认模式,调用startActivityForResult
在这种情况下,从A跳转到B&#x