首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试在两个不同的服务中使用相同的foreGroundNotification

尝试在两个不同的服务中使用相同的foreGroundNotification
EN

Stack Overflow用户
提问于 2015-03-15 14:39:41
回答 1查看 42关注 0票数 0

好的,所以我试图对两个不同的地面服务使用相同的通知。

  1. 我有一个音乐播放器服务,它可以播放music....duh。
  2. 我有一个下载服务,下载音乐文件。

到目前为止,我已经尝试了以下几点:

  1. 我将音乐播放器服务保持为非前台:我观察到,当下载服务结束时,它的前台状态完成后,我在另一个服务中的最后一个静态mediaPlayer就被GC了。基本上我所有的音乐播放器服务都停止了。这可能是预期的行为,这是相当随机的,而不是在下载完之后。
  2. 我在这两个服务中调用了startForeground():在本例中,当两个服务中的任何一个完成后,前台通知就会消失。可能这两个服务中的前景状态都没有实现。在任何情况下,我的音乐播放器仍然可以得到GC‘s。

我打算做的是:

  1. 不知何故,我们知道通知正在显示,我们不应该调用start-前台,而应该只是更新它(如果两个服务中的任何一个位于前台,关联的进程就无法被GC‘’ed,所以在我看来,我的音乐播放器是安全的,即使实际服务不在前台,我是否正确地假设了这一点?)
  2. 合并两个服务(真的要避免这种情况)

如有以下建议,将不胜感激:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-15 15:46:17

我认为您应该有一个在前台运行的服务(当它需要时),并让该服务保存您的播放器和下加载程序的实例。它们不需要是服务,它们可以是简单的对象--这可能是选项2的一个变体,但它似乎至少对我来说是正确的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29061846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档