持續學習-儲存優化之Protobuffer使用與原理

月亮是我踹彎的發表於2020-10-12

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使用的是外部儲存,系統磁碟。

相關文章