是否有任何情况下片段在没有活动且没有事务的情况下被销毁?

时间:2017-10-11 15:55:35

标签: android android-fragments android-activity android-fragmentactivity android-lifecycle

是否存在在没有主机活动且没有事务的情况下销毁片段的情况?

  

你的意思是说从来没有与隐藏该片段有关的交易吗?

1 个答案:

答案 0 :(得分:0)

如果您的Fragment位于"前景" (即它当前被添加到一个活动中),它只能在两种情况下销毁。首先,可能会销毁Activity(配置更改或系统回收资源)。其次,您可以执行一些FragmentTransaction来销毁它(例如replace()电话)。

如果您的Fragment位于"背景" (例如,您之前使用addToBackStack()执行了一项事务)可以销毁它,而Activity也不会被销毁(如果系统想要回收资源)。但是我相信这不符合你对#34;没有交易"的定义。我只想提请注意这样一个事实,即{/ 1}}可能会在执行事务之后被销毁一段时间(而不是立即执行)。

tl;博士:不,Fragment无法销毁,除非其主机Fragment被销毁,或者您已经执行了一项交易,以便在过去的某个时间将其删除