是否存在在没有主机活动且没有事务的情况下销毁片段的情况?
你的意思是说从来没有与隐藏该片段有关的交易吗?
是
答案 0 :(得分:0)
如果您的Fragment
位于"前景" (即它当前被添加到一个活动中),它只能在两种情况下销毁。首先,可能会销毁Activity
(配置更改或系统回收资源)。其次,您可以执行一些FragmentTransaction
来销毁它(例如replace()
电话)。
如果您的Fragment
位于"背景" (例如,您之前使用addToBackStack()
执行了一项事务)可以销毁它,而Activity
也不会被销毁(如果系统想要回收资源)。但是我相信这不符合你对#34;没有交易"的定义。我只想提请注意这样一个事实,即{/ 1}}可能会在执行事务之后被销毁一段时间(而不是立即执行)。
tl;博士:不,Fragment
无法销毁,除非其主机Fragment
被销毁,或者您已经执行了一项交易,以便在过去的某个时间将其删除