什么时候调用 onResume() 而不先调用 onStart()(片段生命周期)
When will onResume() be called without onStart() being called first (Fragment Lifecycle)
onStart()
是 Fragment 变为可见时,onResume()
是 Fragment 变为可交互时。那么 onResume()
-> onPause()
-> onResume()
循环什么时候执行而不执行包围 onStart()
-> onStop()
循环?
就 fragment
转换而言,替换将销毁起始片段,调用其 onPause()
-> onStop() 以及其他与销毁相关的生命周期方法。如果转换是替换但将起始 fragment
添加到 **backStack**
,它仍然会调用 onPause()
-> onStop()
除非完全破坏片段并将其从 [=37 中分离出来=].在仅覆盖另一个片段的情况下,开始片段的 lifecycle
事件中的 none 被执行,因为它仍然在那里只是不可见(另一个片段被绘制在它上面)。
我不确定 onResume()
何时会在没有 onStart()
的情况下被调用,以及 onPause()
何时会被调用 onStop()
。
编辑:连同此处已有的答案,使用 android 分屏也会暂停片段而不停止它。
当您的 activity 在显示对话框或另一个 activity 显示在顶部且具有透明度时保持可见。
基本上你的 activity 在 onStart()
和 onStop()
之间可见,而你的 activity 在 onResume()
和 onPause()
之间是互动的。当它在保持可见的同时变得不可交互时,您将在没有 onStop 的情况下获得 onPause。
onStart()
是 Fragment 变为可见时,onResume()
是 Fragment 变为可交互时。那么 onResume()
-> onPause()
-> onResume()
循环什么时候执行而不执行包围 onStart()
-> onStop()
循环?
就 fragment
转换而言,替换将销毁起始片段,调用其 onPause()
-> onStop() 以及其他与销毁相关的生命周期方法。如果转换是替换但将起始 fragment
添加到 **backStack**
,它仍然会调用 onPause()
-> onStop()
除非完全破坏片段并将其从 [=37 中分离出来=].在仅覆盖另一个片段的情况下,开始片段的 lifecycle
事件中的 none 被执行,因为它仍然在那里只是不可见(另一个片段被绘制在它上面)。
我不确定 onResume()
何时会在没有 onStart()
的情况下被调用,以及 onPause()
何时会被调用 onStop()
。
编辑:连同此处已有的答案,使用 android 分屏也会暂停片段而不停止它。
当您的 activity 在显示对话框或另一个 activity 显示在顶部且具有透明度时保持可见。
基本上你的 activity 在 onStart()
和 onStop()
之间可见,而你的 activity 在 onResume()
和 onPause()
之间是互动的。当它在保持可见的同时变得不可交互时,您将在没有 onStop 的情况下获得 onPause。