首页 > 解决方案 > 有没有办法防止 Activity 在后台被从内存中删除?

问题描述

我在 Fragments 中构建了一个带有控件的媒体播放应用程序。主 Activity 承载所有这些 Fragment。这些 Fragment 保持对主 Activity 的引用,并在发生控件更改时调用主 Activity 中的方法。

现在我需要防止主 Activity 在后台被吞噬。使这成为可能的最佳方法是什么?

目前,我的研究表明我需要将我所有的主要 Activity 代码移动到主要的前台服务,并在主要的 Activity 中具有转发方法。这是需要这样做还是有更简单的方法?

标签: androidandroid-activitygarbage-collection

解决方案


使这成为可能的最佳方法是什么?

它不是。

我的研究表明我需要将几乎所有的主要活动代码移动到主要的前台服务,并在主要活动中具有转发方法。

您的前台服务将负责播放音乐。您的 UI(活动/片段、Notification带有MediaStyle、应用程序小部件等)将向服务发送命令,告诉它如何更改播放(暂停、跳过曲目、更改音量等)。

是否需要这样做

是的,如果您希望在 UI 处于后台时继续播放媒体。


推荐阅读