Android - 调用Activity中的finish方法会销毁宿主Fragment吗?

5
我有一个托管“片段B”的“活动A”。请确认,如果我调用A.finish(),那么“片段B”会被销毁。片段B已经添加到片段管理器中。我知道片段是子活动,但我想知道是否需要在Ondestroy中告诉片段管理器释放片段,还是一切都已经处理好了?
3个回答

8
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. 

0

片段是活动的子活动。因此,每当我们调用完成与其关联的片段时,片段将被销毁,而不会通知FragmentManager。


0

是的,片段已被销毁。根据Android Fragment guide

例如,当活动暂停时,其中所有片段也会暂停, 当活动被销毁时,其中所有片段也会被销毁。


人们应该使用onDestroy还是onDestroyView?并且在它们每个函数中,活动仍然可以通过getActivity访问吗? - android developer
@ Android 开发者,onDestroyView 在活动仍在内存中时非常好用。片段视图被释放出内存,但片段对象本身仍保留,直到 ondestroy 被调用。 - j2emanue

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接