Mat*_*ias 6 android bundle marshalling serializable parcelable
我们想知道当使用Bundle可序列化或可分割的对象时,编组何时实际发生?一旦你把它放在捆绑中?由于bundle主要用于简单地在两个屏幕之间传递数据(我们在这里甚至不讨论IPC!),编组对象似乎没什么意义,因为它始终保留在内存中,没有?
我们是否正确地假设编组(无论是Java序列化还是Android分区)只会发生
我见过Android框架工程师(我相信是Dianne Hackborn)说应该使用Parcelable而不是Serializable因为前者更快.多快了?如果对象在大多数情况下都没有编组,那么这是否会产生影响(假设我们对此的假设是正确的)?
我想我已经明白了.我基本上花了整整一天和今天的大部分时间来调试Android Parcel和Bundle源代码,以下是它的工作原理:
HashMap,但它支持parcel(即marshal)内部地图及其内容所以一般来说:不,只是将值放入Bundle中就不会分配值.相反,当将Bundle传递给另一个组件时,就会发生parcelling(活动或服务;为什么Android会这样做,我不知道,因为技术上没有IPC发生.)或者当它必须被分割时.
| 归档时间: |
|
| 查看次数: |
1403 次 |
| 最近记录: |