是否为持久数据提供服务

时间:2012-11-29 11:46:02

标签: android android-service

我有一个应用程序可以在活动之间的内存中保存一些复杂的数据。

至于现在,我使用Singleton类在getter和setter中使用SharedPreferences

我想要什么:只要我的应用程序处于实时状态并在最近的应用程序中显示,我希望一个类永远不会被释放或找到一种方法来实现另一种方式而没有后果。

  • 所以我想知道,对我来说是更好的方法吗?
  • 服务会更好吗?
  • 如果是,我应该开始和/或绑定吗?

1 个答案:

答案 0 :(得分:3)

如果您使用某项服务,则不会将其绑定,因为取消绑定会导致其停止。

您可以创建一个静态对象并在自定义Application类中创建它。因此,只要您的应用程序处于活动状态,对象就会被强大的引用保留。

或者组合,使用单例类但让应用程序类存储引用以防止垃圾收集(GC)

聊天后

在自己的进程中运行的服务应该是您可以构建的最持久的东西。但是,您需要通过AIDL与服务进行通信,AIDL是一个跨进程桥,如果通信速度很快,它会提取性能。