使用静态 methods/structures 在活动之间传递数据

Using static methods/structures to pass data between activities

如果我想在同一应用程序中的活动之间传递数据,a) 我可以使用 Intent 或 b) 使用数据库(在 Intent 中传递 id 而不是完整的数据.
但我也可以使用 c) a class 和两个活动都可以以 store/fetch 方式访问的静态数据结构。
如果我不关心应用重启时数据的持久性,使用 (c) 有什么缺点?

最大的缺点是 Android OS 可以随时终止您的进程。重新创建流程时,Android 将重新创建所有恢复其状态的活动。

由于 Android 不知道应该如何处理您的静态数据,您将丢失它并且 Activity B 将处于不一致状态。

我举个例子更清楚:

  1. Activity A 启动
  2. ActivityA 上的一个按钮被点击
  3. 启动前正在填充静态数据结构Activity B
  4. Activity B 已启动并可以访问静态数据
  5. Android OS 自动终止你的进程
  6. ActivityA和ActivityB恢复
  7. 静态数据结构没有被填充,因为它们会在 Activity A 上的按钮被点击时被填充
  8. Activity B 处于不一致状态