假设您在应用中有多个活动,并且需要共享数据。 Android开发人员常见的模式似乎是拥有某种单例对象(可选择附加到Application单例),并使用它共享数据。这在Java中已经足够糟糕了,但在Scala看起来真的很难看。
对于消息传递,如果数据由基元组成,则可以使用Intents。但是你的主域模型怎么样?我希望能够传递非常复杂的物体。似乎我可以使用Parcelable序列化来做到这一点,但我不确定它有多快(我的对象数据量很大)以及它是否适用于Scala?有没有人试过这个?
另一个想法是使用“WeakReferences to Objects”的HashMap策略,其中传递的消息是引用 - 您仍然获得全局数据但访问受到保护。也许我也可以就此获得一些意见,不仅仅是来自Android民众,还有一些Scala人。
答案 0 :(得分:0)
我解决这个问题的方法是在我的应用程序中包含Akka库,并将全局对象转换为在活动之间传递的消息。
它似乎工作正常,但到目前为止并没有很多人在Android上使用Akka,很难找到最佳实践。如果有人对此策略有任何意见,请告诉我。