【发布时间】:2014-10-14 08:35:21
【问题描述】:
我有一个托管“片段 B”的“活动 A”。请确认如果我调用 A.finish() 则“片段 B”会被销毁。片段 B 已经添加到片段管理器中。我意识到一个片段是一个子活动,但我想知道我是否必须告诉片段管理器在 Ondestroy 中释放片段还是全部处理好?
【问题讨论】:
标签: android fragment fragmentmanager fragment-lifecycle
我有一个托管“片段 B”的“活动 A”。请确认如果我调用 A.finish() 则“片段 B”会被销毁。片段 B 已经添加到片段管理器中。我意识到一个片段是一个子活动,但我想知道我是否必须告诉片段管理器在 Ondestroy 中释放片段还是全部处理好?
【问题讨论】:
标签: android fragment fragmentmanager fragment-lifecycle
but i want to know do i have to tell the fragment manager to
release the fragment in Ondestroy or is it all taken care of ?
默认情况下,当您在活动中调用finish 时,它会自动调用附加到活动的所有片段的onDestroy 方法,从而销毁它,因此无需担心销毁您活动的onDestroy 方法中的片段。
For example, when the activity is paused, so are all fragments in it,
and when the activity is destroyed, so are all fragments.
【讨论】:
片段是活动的子活动。因此,每当我们调用完成时,与之关联的片段也会在不通知 FragmentManager 的情况下被销毁。
【讨论】:
是的,片段被销毁了。来自Android Fragment guide:
比如activity暂停的时候,里面的所有fragment也是, 当 Activity 被销毁时,所有 Fragment 也会被销毁。
【讨论】: