Android-Parcelable理解与使用(对象序列化)
parcel定义介绍: android提供了一种新的类型:parcel(英文解释:包裹,小包),本类用来封装数据的容器,封装后的数据可以通过Intent或IPC传递,除了基本类型外,只有实现了Parcelable接口的类才能放入parcel中。 parcel一般都用在Binder通信,通过read和write方法进行客户端与服务端的数据传递(通信)。 比如:frameworks层服务端与hardware客户端的Binder通信 reply->writeInt32(getCardReaderSize()); int mid = data.readInt32(); 用来存放parcel数据的是内存(RAM),而不是永远介质(Nand等)。 parcelable定义了把数据写入parcel和从parcel读出数据的接口,一个类的实例,如果需要封装到消息中去,就必须实现这一接口,如果实现了这个接口,该类的实例就是可以“被打包”。 Parcelable的定义: 下面我们看下parcelable的源码: 内容描述接口,没什么作用 public int describeC ontents(); 写入接口函数,用来打包 public void writeToParcel(Parcel dest, int flags); 读取接口