【问题标题】:Using Service to share/persist data across Activities使用服务在活动之间共享/保存数据
【发布时间】:2017-08-20 16:26:36
【问题描述】:

我最近一直在寻找可用于跨 Activities 持久化数据的选项。我在网上搜索了一下,只发现了一些其他人似乎使用的方法。其中一些是-

  • 意图
  • 单例类
  • 磁盘
  • Application

使用Service 怎么样?我还没有发现任何地方提到了使用 Service 来实现跨活动的数据持久性。根据我对 Android Service 的体验,我很确定它可以用于此目的。据我所知,其他人是否有任何理由不使用 Service 进行数据持久化?

【问题讨论】:

    标签: android android-activity android-service


    【解决方案1】:

    当然可以,但是开销要大得多(并且需要编写更多代码,并且需要更多地了解 Android)。

    无论如何,Service 并不比使用 public static 变量更“持久”(这与使用 Application 类或单例几乎相同)。如果 Android 需要资源,或者您的应用程序有一段时间没有使用,或者您的手机刚刚度过了糟糕的一天,Android 将终止托管您的 Service、您的单例、您的 Application 类和您的 @ 的操作系统进程987654326@ 变量。因此,如果您想比这更“持久”,则需要使用数据库、共享首选项或文件。

    【讨论】:

    • 感谢您提供非常丰富的答案。我打算使用服务,但会重新考虑。
    【解决方案2】:

    【讨论】:

    • 为什么以及如何使用LocalBroadcastManager 作为“持久性”机制?
    猜你喜欢
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    • 2013-02-25
    • 1970-01-01
    相关资源
    最近更新 更多