【发布时间】:2013-08-19 04:38:34
【问题描述】:
我有一个与this guy 类似的问题,但略有不同。在最初的问题中,他说
假设你想开始一个新的活动,并从它传递一些数据 当前活动。
第一个答案是关于把东西放在 Extras 中,所以大概他在谈论传递 Intents。
但是,如果您只想在同一活动的两个实例之间传递怎么办?例如,如果您旋转屏幕,活动的“旧”实例将被销毁并创建一个“新”实例。在它们之间传递信息的方式是通过 Bundle。我知道如何使用 onSaveInstanceState.putXXX 和 .getXXX 传递原始数据类型。但是如果我有一个对象数组怎么办?我怎样才能在捆绑中传递这些? Parcelable 和 Serializeable 是我唯一的选择吗?*
*假设我不想使用静态变量
【问题讨论】:
-
“
Parcelable和Serializeable是我唯一的选择吗?” - 简而言之:是的。但是,由于Parcelable的性能优于Serializable(它是专门为高性能 IPC 创建的),因此在实现开销方面值得付出额外努力,尤其是如果您计划传递数据集.