是否保证会调用Fragment.onStop()?

时间:2015-04-01 12:23:17

标签: android android-fragments android-lifecycle

从此链接的表格中http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

我们可以看到,在调用onStop()之后(对于Honeycomb及更高版本),Android Activity不会被激活。

我们是否对碎片有相同的(记录的)保证?

非常感谢有人指着我明确陈述的文件。

编辑:正如已经指出的那样[Fragment.onStop] 通常绑定到包含Activity生命周期的Activity.onStop。

http://developer.android.com/reference/android/app/Fragment.html#onStop()

但是这并没有告诉我Fragment的onStop()是有保证的(至少没有与Activity文档给出的清晰度相同。)是否有明确声明Fragment.onStop()保证的任何地方?

编辑2:基于下面的讨论,我们现在正在讨论Activity.onStop()是否有保证(如果没有,似乎可以安全地假设,那么Fragment.onStop也不保证)。我已将有关Activity.onStop的问题移至新的帖子:Is Activity.onStop() guaranteed to be called (API 11 +)

在我看来,必须保证调用Activity.onStop,但也不足以保证调用Fragment.onStop。

1 个答案:

答案 0 :(得分:4)

onStop()片段不再对用户可见,因为它的活动正在停止,或者片段操作正在活动中修改它。

这通常与包含Activity的生命周期的Activity.onStop相关联。

http://developer.android.com/reference/android/app/Fragment.html#onStop()

在低内存中,不保证活动和片段都会调用onStop()方法

  

请注意,在内存不足的情况下,可能永远不会调用此方法,在这种情况下,系统没有足够的内存来保持活动进程在调用onPause()方法后继续运行。

     

http://developer.android.com/reference/android/app/Activity.html#Fragments