前段时间参与一个项目关于进程间通信,看人家的代码中Parcel用的各种6,可是咱看不懂呀!所以只好在查些资料咯!
所谓Parcel英文直译就是“打包”的意思。如果进程间通信直接传递引用对象,这样也只是传递了对象的内存地址,这样的行为是
行不通的,毕竟两个进程间的虚拟内存是不同的。但是我通过Parcel将内存地址中存储的数据打包呢。。这样就可以把数据传递过去了!
下面介绍下Parcel相关的方法:
dataSize();获取当前已经存储的数据大小。
setDataCapacity(int size);设置Parcel的空间大小,显然存储的数据不能大于这个值。
setDataPosition(int pos);改变Parcel中的读写位置,必须介于0和dataSize()之间。
dataAvail():当前Parcel中的可读数据大小。
dataCapacity():当前Parcel的存储能力。
dataPosition():数据当前位置值,类似游标。
Primitives
原始类型数据的读写操作:
writeByte(byte):写入一个byte;
readByte():读取一个byte;
writeDouble(double) :写入一个double
readDouble();读取一个double.
从上面看出读写是配套的。数据是按照host cpu的字节序来读写的
Primitives Arrays
原始数据类型数组的读写操作通常是先写入用4个字节表示的数据大