Protobuffer是谷歌开发出来用来替代XML和JSON。需要在项目的build.gradle和app的build.gradle里添加一些配置。
1.序列化和反序列化速度更快(二进制方式存储),体积小、传输速度快,但可读性差了些。
2.默认需要在main文件夹加创建文件夹proto,如果需要改,需要配置下。
3.安装GenProtoBuf插件;在proto文件夹下创建比如person.proto文件。
4.protobuffer在存储上有优势,因为他根本就没有存key,而json有存,
5.需要注意的地方:编写proto文件,注意其语法;
6.为何如此高效:使用Varient变长编码方式进行编码,比如一个整型1,本来需要4个字节,但使用可变长编码只需要1个字节。
7.Parcelable序列化快的原因:序列化和反序列化都是开发者自己实现的,而Serializable是系统实现;Parcelable使用的是自己内存,而Serializable使用的是外部存储,系统磁盘。