3

假设您在一个应用程序中有多个活动并且需要共享数据。对于 Android 开发人员来说,一种非常常见的模式似乎是拥有某种单例对象(可选地附加到应用程序单例),并使用它在全球范围内共享数据。这在 Java 中已经够糟糕了,但在 Scala 中看起来真的很难看。

对于消息传递,如果您的数据由原语组成,您可以使用 Intents。但是你的主要领域模型呢?我希望能够传递非常复杂的对象。似乎我可以使用 Parcelable 序列化来做到这一点,但我不确定它有多快(我的对象是数据量大的)以及它是否适用于 Scala?有人试过这个吗?

另一个想法是使用“对象的弱引用的哈希映射”策略,其中传递的消息是引用——你仍然有全局数据,但访问受到保护。也许我也可以得到一些意见,不仅来自 Android 人员,还来自一些 Scala 人员。

4

1 回答 1

0

我解决这个问题的方法是在我的应用程序中包含 Akka 库,并将全局对象转换为在活动之间传递的消息。

它似乎工作正常,但到目前为止,在 Android 上使用 Akka 的人并不多,而且很难找到最佳实践。如果人们对此策略有任何意见,请告诉我。

于 2013-09-12T12:09:01.867 回答