0

在我的应用程序中,我使用媒体播放器服务。当我调用替换片段时,我想终止该服务。查看 Stackoverflow 和 Androids 网站上的答案,我还没有看到直接的答案。一旦调用了替换片段,就会调用片段生命周期的哪些部分。

我尝试了 onDestroy 和 onDetach 并且这些都没有被调用。放在哪里合适?

谢谢

4

1 回答 1

1

我会把它onStop()回调。

已停止
片段不可见。主机活动已停止,或者片段已从活动中删除但已添加到后台堆栈。已停止的片段仍然存在(系统保留所有状态和成员信息)。但是,它不再对用户可见,并且如果该活动被终止,它将被终止。

onDestroy()并且onDetach()回调可能不会被调用。
您可以看到Fragments 生命周期。这可能会有所帮助。

重要的是:
.replace删除现有的片段并添加一个新的片段。

替换已添加到容器中的现有片段。这与为所有当前添加的片段调用 remove(Fragment) 基本相同,这些片段使用相同的 containerViewId 添加,然后使用此处给出的相同参数调用 add(int, Fragment, String)。

所以这意味着,onCreateonCreateViewonActivityCreatedonResume现在你Fragment是可见的。

我认为这些是与该问题相关的很好的主题:
调用 replace() 时片段的生命周期是什么?
用活动组内的另一个片段
替换片段片段替换现有片段
add()和replace()之间的差异与片段的生命周期

于 2016-06-16T11:21:12.437 回答