持續學習-儲存優化之Protobuffer使用與原理
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使用的是外部儲存,系統磁碟。
相關文章
- Android 儲存優化 —— MMKV 整合與原理Android優化
- oracle優化與可持續執行Oracle優化
- Redis 記憶體使用優化與儲存Redis記憶體優化
- 持續學習
- 重新學習Mysql資料庫3:Mysql儲存引擎與資料儲存原理MySql資料庫儲存引擎
- 儲存學習之開源儲存軟體
- 強化學習之原理與應用強化學習
- 持續整合持續部署持續交付_持續整合與持續部署之間的真正區別
- webpack使用優化(持續更新,歡迎補充)Web優化
- cuda優化之常量儲存器和紋理儲存器優化
- 《MySQL 效能優化》之 InnoDB 儲存引擎MySql優化儲存引擎
- 表格儲存Tablestore權威指南(持續更新)
- 讀書筆記|Windows 除錯原理學習|持續更新筆記Windows除錯
- 滴滴Ceph分散式儲存系統優化之鎖優化分散式優化
- MySQL 效能優化之儲存引擎選擇MySql優化儲存引擎
- 【AIX 學習】效能優化--iostat (續)AI優化iOS
- 儲存學習
- CUDA 學習筆記之儲存器筆記
- 共享儲存器優化優化
- 學習 Laravel —— 前端篇(持續更新)Laravel前端
- 【持續更新...】ECharts學習筆記Echarts筆記
- 【持續更新...】Nginx 學習筆記Nginx筆記
- Java 學習筆記(持續更新)Java筆記
- Flutter持久化儲存之檔案儲存Flutter持久化
- 效能優化 (十) APP 持續執行之程式保活實現優化APP
- IOS資料儲存之CoreData使用優缺點iOS
- 百度NLP:強化學習之原理與應用強化學習
- java程式碼編寫優化(持續更新...)Java優化
- 全域性儲存器優化優化
- Flutter持久化儲存之key-value儲存Flutter持久化
- Flutter持久化儲存之資料庫儲存Flutter持久化資料庫
- 【持續更新...】Microsoft SSIS 學習筆記ROS筆記
- redhat要持續學習喲加加油Redhat
- 程式設計師持續學習之道程式設計師
- H3C之IP儲存方案學習
- 遊戲開發流程與思想學習筆記(持續更新)遊戲開發筆記
- jenkins+gitlab+nexus持續整合與部署學習JenkinsGitlab
- Java學習之程式碼優化Java優化