我知道这个地方充满了有关androids组件生命周期的问题。
我想知道在不同活动中生命周期事件的顺序是否可以保证。
用一个例子更容易理解。假设A和B是活动,让我们假设我这样做:
a.finish();
a.startActivity(new Intent(a,B.class));
Android scheculer是否保证A.onStop()
,A.onDestroy()
在B.onCreate()
,B.onStart()
之前被调用?
我知道调用finish()之后不会立即调用这些方法;也没有startActivity();,但我想了解顺序...是否可以确保这些方法将被调用的顺序?
答案 0 :(得分:1)
无法保证两个活动之间的呼叫顺序。特别是onDestroy调用。 start / stop / pause / resume根据其含义有一些隐式排序(pause意味着您不再是前台活动,stop意味着您完全不在屏幕上,因此在B的onStart之前调用stop没有意义。 ,否则可能不正确)。但是onDestroy绝对可以延迟到对系统方便之前,除了在A的onStop之后没有其他硬命令。