Android使用Parcelable序列化复杂数据结构
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());
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/11/android-use-parcelable-to-serialize-complex-data-structures/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
打赏
海报
Android使用Parcelable序列化复杂数据结构
Android序列化方案Parcelable,相比Serializable更快,效率更高,占用内存更少。
Boolean类型
//write
dest.writeByte((byte) (isDefault ? 1: 0));
//read
……
文章目录
关闭
共有 0 条评论