use*_*812 4 android android-activity
我正在研究一个开源的Android项目时遇到这个问题.
我有一个活动A1,它在"onCreate"方法中调用另一个活动A2.但是,在"startActivity/startActivityForResult"方法之前和之后都有代码语句.我不知道"startActivity/startActivityForResult"方法后A1中的执行顺序.
A1的代码框架如下:
public void onCreate(Bundle bundle) {
<code statements before>
this.startActivityForResult(.....); // Start A2 here.
<code statements after>
}
public void onResume() {
<code statements>
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
<code statements>
}
.....
Run Code Online (Sandbox Code Playgroud)
我想知道A1是否会首先完成其执行周期(即"onCreate" - >"onStart" - >"onResume" - >"onPause" - >"onStop")才能调用A2,或者只是先完成"onCreate"之前调用A2,还是有其他执行逻辑?
此外,当A2返回(完成)并调用A1中的"onActivityResult"时,A1会在执行"onActivityResult"方法后执行"onRestart" - >"onStart" - >"onResume"吗?
因为A1和A2都有自己的UI,我认为2个活动可能无法与两个不同的线程同时执行.有没有人知道这种情况下的确切执行顺序?
提前感谢任何建议.
use*_*812 12
我使用2个非常简单的Android活动模拟了这种情况,并得到了以下结果.
以下是Android在活动A1的方法中执行"startActivity"/"startActivityForResult"以启动另一个活动A2时会发生的情况,
我在这里写下来希望它可能对其他人有所帮助.
| 归档时间: |
|
| 查看次数: |
4527 次 |
| 最近记录: |