【Android Protobuf 序列化】Protobuf 简介 ( Protobuf 项目简介 | Protobuf 优缺点分析 )
文章目錄
- 一、Protobuf 簡介
- 二、Protobuf 優缺點分析
- 1、Protobuf 優點
- 2、Protobuf 缺點
- 三、參考資料
一、Protobuf 簡介
Protobuf 是 Google 開源項目 , 該項目是序列化數據的一種解決方案 , JSON , XML 等也可以進行序列化數據操作 ;
- 序列化 : 將內存中的對象或數據 , 轉為二進制數據 , 可存放或傳輸 ;
- 反序列化 : 將二進制數據 轉為 內存中的對象或數據 ;
Protobuf 使用場景 :
- 數據交換 : 從網絡中下載數據 , 發送數據給服務器 ;
- 數據存儲 : 獲取或生成的數據 , 需要存儲下來 ;
Protobuf 語言特點 : Protobuf 包含一套 " 數據結構接口描述語言 " , 以及與之配套的 " 編譯器 " , 利用 " 編譯器 " 生成對應數據結構的不同編程語言的代碼 , 如 Java , Python , C++ 等 ;
Protobuf 源碼地址 : https://github.com/protocolbuffers/protobuf
Protobuf 當前支持的編程語言 , 平臺 ;
一套 Protobuf 源文件 , 可以編譯出不同的語言的源代碼 , 支持的語言類型如下 :
二、Protobuf 優缺點分析
1、Protobuf 優點
性能方面 :
-
體積小 : Protobuf 序列化后 , 體積小 , 序列化后 , 大約是 JSON / XML 等文本方式的 13\cfrac{1}{3}31? ; 序列化后可操作性高 , 存儲時占用的空間少 , 傳輸時 , 消耗更少的帶寬 ;
-
序列化速度快 : Protobuf 序列化速度快 , 轉換速度是 JSON / XML 的幾十倍到上百倍 ;
在使用方面 , Protobuf
- 使用簡單 ,
- 維護成本低 ,
- 擴展性好 ,
- 安全性好 ;
使用范圍方面 , Protobuf 可以
- 跨平臺 ( MAC / Linux / Windows / Android / iOS ) ,
- 跨語言 ( Java / Python / C / C++ / … ) ,
- 可擴展 ;
2、Protobuf 缺點
通用性較差 : 目前 XML / JSON 廣泛使用 , 是行業標準的序列化 , 反序列化格式 ;
解釋性差 : 序列化 , 反序列化 Protobuuf , 需要有 Protobuf 源文件才可以進行 ;
三、參考資料
Protobuf 參考資料 :
-
Protobuf 官網主頁 : https://developers.google.com/protocol-buffers
-
Protobuf 語法指南 : https://developers.google.com/protocol-buffers/docs/proto
-
Protobuf Java 語言對應用法 : https://developers.google.com/protocol-buffers/docs/javatutorial
-
Protobuf 源碼地址 : https://github.com/protocolbuffers/protobuf
總結
以上是生活随笔為你收集整理的【Android Protobuf 序列化】Protobuf 简介 ( Protobuf 项目简介 | Protobuf 优缺点分析 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【错误记录】NDK 动态库报错 ( dl
- 下一篇: 【Android Protobuf 序列