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