Android序列化方案Parcelable,相比Serializable更快,效率更高,占用内存更少。
Boolean类型
//write
dest.writeByte((byte) (isDefault ? 1: 0));
//read
isDefault = source.readByte() != 0;
List类型
//write
dest.writeList(list);
//read
list = source.readArrayList(String.class.getClassLoader());
list = source.readArrayList(Integer.class.getClassLoader());
list = source.readArrayList(MyEntity.class.getClassLoader());
Map类型
//write
dest.writeMap(map);
//read
map = source.readHashMap(HashMap.class.getClassLoader());
Array数组
//write
if (array != null) {
dest.writeInt(array.length);
} else {
dest.writeInt(0);
}
dest.writeStringArray(array);
//read
int length = source.readInt();
array = new String[length];
source.readStringArray(array);
实体类
//如果实体类实现Serializable接口
//write
dest.writeSerializable(entity);
//read
source.readSerializable();
//如果实体类实现Parcelable接口
//write
dest.writeParcelable(entity, flags);
//read
source.readParcelable(MyEntity.class.getClassLoader());