Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android生命周期方法订单有保证吗?_Android_Android Activity_Android Lifecycle - Fatal编程技术网

android生命周期方法订单有保证吗?

android生命周期方法订单有保证吗?,android,android-activity,android-lifecycle,Android,Android Activity,Android Lifecycle,我知道这个地方充满了关于androids组件生命周期的问题 我想知道是否可以保证不同活动中生命周期事件的顺序 举个例子更容易理解。假设A和B是活动,假设我是: a.finish(); a.startActivity(new Intent(a,B.class)); Android scheculer是否保证在B.onCreate(),B.onStart()之前调用A.onstroy() 我知道调用finish()后不会立即调用这些方法;nor startActivity();,但我想知道关于订单

我知道这个地方充满了关于androids组件生命周期的问题

我想知道是否可以保证不同活动中生命周期事件的顺序

举个例子更容易理解。假设A和B是活动,假设我是:

a.finish();
a.startActivity(new Intent(a,B.class));
Android scheculer是否保证在
B.onCreate()
B.onStart()
之前调用
A.onstroy()


我知道调用finish()后不会立即调用这些方法;nor startActivity();,但我想知道关于订单的事。。。是否可以确保调用这些方法的顺序?

不保证两个活动之间调用的顺序。特别是onDestroy调用。开始/停止/暂停/恢复有一些基于其含义的隐含顺序(暂停意味着你不再是前台活动,停止意味着你完全脱离屏幕,因此在B启动之前调用停止没有意义,否则可能不正确)。但是onDestroy肯定会延迟到系统方便的时候,除了在A上了桌面之后,再也没有硬命令了。

IMHO,如果你有两个紧密耦合的活动,它们不应该是单独的活动。例如,使用一个活动和两个片段。这将是一个好主意,但我在项目中的一个观点是,这项更改将花费我很多钱来重建,我本应该在几个月前问这个问题。如果我得到否定的答案,那么更改onStart()/onStop()逻辑比重建整个活动更容易