【发布时间】:2011-04-03 00:53:06
【问题描述】:
我们想知道当Bundle 与可序列化或可打包的对象一起使用时,编组实际上是在什么时候发生的?只要你把它放在包里?由于捆绑包主要用于在两个屏幕之间简单地传递数据(我们在这里甚至不讨论 IPC!),编组对象似乎没有多大意义,因为它一直保留在内存中,不?
我们是否正确地假设编组(无论是 Java 序列化还是 Android 分块)仅在以下情况下才会发生
- 必须将数据传递给另一个进程,例如在 RMI 期间,或
- 组件(活动或服务)被破坏并且必须将实例状态写入磁盘?
我见过 Android 框架工程师(我相信是 Dianne Hackborn)说应该使用 Parcelable 而不是 Serializable,因为前者要快得多。快多少?如果对象大部分时间都没有被编组(假设我们对此的假设是正确的),这甚至会产生影响吗?
【问题讨论】:
标签: android marshalling bundle serializable parcelable