【发布时间】:2015-05-02 08:45:27
【问题描述】:
所以我有一个 Calendar obj,它默认实现可序列化,我想将它传递到一个包中,以便它的值保存在屏幕旋转上。
我应该将它作为可序列化传递还是提取值并重新创建 obj 以提高效率?
bundle.putSerializable("key", calendar);
或
bundle.putInt("dayKey", calendar.get(Calendar.DAY_OF_MONTH));
bundle.putInt("monthKey", calendar.get(Calendar.MONTH));
bundle.putInt("yearKey", calendar.get(Calendar.YEAR));
【问题讨论】:
-
我将使用 putSerializable。我不知道效率,但它更容易实现和阅读,而不是将对象分解成碎片。如果一个可序列化的对象有超过 10 个属性怎么办
-
我会选择最简单和最不容易出错的可能性:
bundle.putInt("time", calendar.getTime().getTime());
标签: java android serialization bundle