何时调用onResume()而不首先调用onStart()(Fragment Lifecycle)

时间:2018-02-13 05:28:44

标签: android android-fragments fragment-lifecycle

onStart()是片段变得可见时,onResume()是片段变为交互的时间。那么onResume() - >什么时候开始onPause() - > onResume()周期执行而不执行包含onStart() - > onStop()周期?

fragment转换而言,替换将破坏起始片段,调用其onPause() - > onStop()以及其他与destroy相关的生命周期方法。如果转换已替换但将起始fragment添加到**backStack**,则仍会调用onPause() - > onStop()除非没有完全破坏片段并将其从活动中分离出来。在刚刚覆盖另一个片段的情况下,没有任何起始片段的lifecycle事件被执行,因为它仍然只是不可见(另一个片段被绘制在它上面)。

我不确定何时会在onResume()之后调用onStart(),以及onPause()onStop()调用。

编辑:除了已经存在的答案之外,使用Android分屏也会暂停片段而不会停止它。

1 个答案:

答案 0 :(得分:2)

当您的活动在显示对话框时保持可见,或者其他活动显示在顶部且具有透明度。

基本上,您的活动在onStart()onStop()之间可见,您的活动在onResume()onPause()之间互动。如果它在保持可见的同时变得不相交,你将在没有onStop的情况下获得onPause。