假设您在一个应用程序中有多个活动并且需要共享数据。对于 Android 开发人员来说,一种非常常见的模式似乎是拥有某种单例对象(可选地附加到应用程序单例),并使用它在全球范围内共享数据。这在 Java 中已经够糟糕了,但在 Scala 中看起来真的很难看。
对于消息传递,如果您的数据由原语组成,您可以使用 Intents。但是你的主要领域模型呢?我希望能够传递非常复杂的对象。似乎我可以使用 Parcelable 序列化来做到这一点,但我不确定它有多快(我的对象是数据量大的)以及它是否适用于 Scala?有人试过这个吗?
另一个想法是使用“对象的弱引用的哈希映射”策略,其中传递的消息是引用——你仍然有全局数据,但访问受到保护。也许我也可以得到一些意见,不仅来自 Android 人员,还来自一些 Scala 人员。