-1

在没有主机活动且没有事务的情况下碎片被销毁的情况是否存在?有没有任何情况下片段被销毁而没有活动和没有交易?

你的意思是说,从来没有一个事务涉及隐藏该片段?

+0

“无交易”是否意味着_never_与隐藏该片段有关的事务,或者更确切地说,是否没有明确的事务要求销毁片段? –

+1

另外,“没有活动”是什么意思? – CommonsWare

+0

@CommonsWare不会破坏主机活动 –

回答

0

如果您Fragment是在“前台”(即它目前加入到活动),它只能在两种情况下销毁。首先,Activity可能会被销毁(配置更改或系统回收资源)。其次,您可能执行一些FragmentTransaction来销毁它(例如拨打replace())。

如果您Fragment是在“背景”(例如,您以前执行的使用addToBackStack()交易),它可以不Activity也被破坏(如果系统要回收资源)被破坏。但我相信这不符合你的“无交易”的定义。我只是想引起注意,Fragment可能会在事务执行后(而不是立即执行后)被销毁一段时间

tl; dr:不,一个Fragment不能被销毁,除非它的主机Activity被销毁,或者您在过去的某个时间点执行了一项交易以将其删除。

相关问题