android - 有没有办法防止 Activity 在后台被从内存中删除?
问题描述
我在 Fragments 中构建了一个带有控件的媒体播放应用程序。主 Activity 承载所有这些 Fragment。这些 Fragment 保持对主 Activity 的引用,并在发生控件更改时调用主 Activity 中的方法。
现在我需要防止主 Activity 在后台被吞噬。使这成为可能的最佳方法是什么?
目前,我的研究表明我需要将我所有的主要 Activity 代码移动到主要的前台服务,并在主要的 Activity 中具有转发方法。这是需要这样做还是有更简单的方法?
解决方案
使这成为可能的最佳方法是什么?
它不是。
我的研究表明我需要将几乎所有的主要活动代码移动到主要的前台服务,并在主要活动中具有转发方法。
您的前台服务将负责播放音乐。您的 UI(活动/片段、Notification
带有MediaStyle
、应用程序小部件等)将向服务发送命令,告诉它如何更改播放(暂停、跳过曲目、更改音量等)。
是否需要这样做
是的,如果您希望在 UI 处于后台时继续播放媒体。
推荐阅读
- django - 如何用外键链接两种形式(wagtail 形式和 django 形式)?
- django - 静态文件和媒体文件的区别:如何在模板中显示一些上传图片
- r - R Stargazer 用垂直线分隔列
- angular - Angular:将服务注入另一个服务
- postgresql - git fetch 未在 Red Hat Enterprise Linux Server 7.7 (Maipo) 上的新克隆上获取远程分支
- php - 为什么不能在多个 foreach 循环中使用数组?
- asp.net-core - 如何将表单提交到 ASP.NET Core MVC 项目中的特定区域?
- python - 具有多个元素的数组的真值是不明确的。使用 a.any() 或 a.all() 进行绘图
- asp.net - 无法从传输连接读取数据:操作已取消
- javascript - 如何实现多个 Leaflet JS 映射