【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 序列