从服务android中存储的数据更新活动

时间:2014-05-19 13:24:58

标签: android android-service android-adapter

我有一个播放音乐的应用程序。我可以远程将音乐添加到设备中。

即使myapplication未启动,我也使用服务来运行它。

我有一个自定义适配器来显示我的活动中的音乐,但是音乐数据在我的服务类中。

如何从服务中获取数据并将其用于我的自定义适配器以显示音乐?

我找到了一些解决方案,比如将我的对象放在派生的Application类中,但是如果我的所有活动都被销毁了,我认为应用程序也被销毁了,不是吗?

由于

1 个答案:

答案 0 :(得分:1)

使用建议的解决方案将对象放在派生的Application类中。

如果您仍然Application正在运行,则Service不会被销毁。这就是使用此技术的美妙之处 - 只要您的应用中运行ActivityServiceApplication就会存在于内存中。

或者,功能类似的技术是为数据使用显式单例。有关为什么这比使用应用程序更好的长期讨论,请查看此问题的答案:


这些技术的另一面是内存管理。由于Application或单例始终在内存中,您可能会发现对所有对象使用的内存太多。所以这是你必须要特别注意的事情。

考虑使用对象的弱引用,由数据库或共享首选项支持。阅读一下WeakHashMap