使用服务 share/persist 跨活动的数据
Using Service to share/persist data across Activities
我最近一直在寻找可用于跨 Activities
持久化数据的选项。我在网上搜索了一下,只发现了其他人似乎使用的几种方法。其中一些是 -
- 意图
- 单例class
- 磁盘
Application
使用 Service
怎么样?我还没有找到任何地方提到使用服务来实现跨活动的数据持久性。根据我对 Android 服务的体验,我很确定它可以用于此目的。据我所知,其他人不使用 Service 进行数据持久化有什么原因吗?
使用LocalBroadcastManager
Example
当然可以,但是开销更大(而且需要写更多的代码,需要对Android有更多的了解)。
无论如何,Service
并不比使用 public static
变量多 "persistent"(这与使用 Application
class 或单例)。如果 Android 需要资源,或者您的应用有一段时间未被使用,或者您的 phone 刚刚度过了糟糕的一天,Android 将终止 OS 进程托管你的 Service
、你的单例、你的 Application
class 和你的 public static
变量。因此,如果您想 "persistent" 多于此,则需要使用数据库、共享首选项或文件。
我最近一直在寻找可用于跨 Activities
持久化数据的选项。我在网上搜索了一下,只发现了其他人似乎使用的几种方法。其中一些是 -
- 意图
- 单例class
- 磁盘
Application
使用 Service
怎么样?我还没有找到任何地方提到使用服务来实现跨活动的数据持久性。根据我对 Android 服务的体验,我很确定它可以用于此目的。据我所知,其他人不使用 Service 进行数据持久化有什么原因吗?
使用LocalBroadcastManager Example
当然可以,但是开销更大(而且需要写更多的代码,需要对Android有更多的了解)。
无论如何,Service
并不比使用 public static
变量多 "persistent"(这与使用 Application
class 或单例)。如果 Android 需要资源,或者您的应用有一段时间未被使用,或者您的 phone 刚刚度过了糟糕的一天,Android 将终止 OS 进程托管你的 Service
、你的单例、你的 Application
class 和你的 public static
变量。因此,如果您想 "persistent" 多于此,则需要使用数据库、共享首选项或文件。