0

我处于必须在活动之间共享变量的情况......但我有一个疑问。哪个更好: Parcelable 对象或将其设置在自定义 Application 对象上。

当某些东西要在下一个活动中使用时,我只是将它作为 Parcelable 对象传递,当它要在多个活动中使用时,我将它放在应用程序上下文中。

你怎么看?这样对吗?哪个性能更好?

谢谢!

4

3 回答 3

1

我认为你的方法是完全有效的。

如果它类似于在每个 Activity 中访问的用户对象,则将其存储在自定义应用程序对象中,但如果应用程序对象在应用程序处于后台时被破坏,请确保有办法重新创建对象。

如果它是类似路径或用户做出的选择决定下一个活动如何工作的东西,则将其与 Intent 一起发送。

还有一些类不容易放入 Intent。我有一个附加到应用程序类的 ImageCache,它允许在活动更改之间将图像(如用户配置文件图像)保存在内存中,而无需多次解码位图。如果它们的设计方式不会填满所有可用内存,那么它们也非常适合自定义应用程序类。

于 2012-05-16T10:24:02.433 回答
0

我建议在活动之间共享额外的数据。如果它是一个自己的类,它必须实现 Serializible。

于 2012-05-16T10:17:14.340 回答
0

如果您觉得懒惰,请使用 Application 的单例模式。

但是,如果您想更智能地编码,请使用 Parcelable。

于 2012-05-16T10:17:59.853 回答