欢迎光临
我们一直在努力

第265篇 序列化与传输体积:Protobuf 的取舍

承接上一篇《Room 性能调优:写入与观察式查询》讲完的本地存储链路,这一篇把视线移到跨进程、跨端的数据交换上。移动端每天真正消耗流量的地方,往往不是本地数据库,而是接口响应体:一张列表页返回 200 条记录,JSON 冗余的字段名、重复的类型标记、空值字段,累积起来能占到三成体积。序列化格式的选型,本质上是在\”可读性、自解释性、解析速度、体积\”四者之间做取舍,而 Android 端的高频场景——长连接推送、跨进程 AIDL 数据结构、大列表接口、埋点上报——都指向同一个答案方向。

序列化格式的四个坐标

先建立评估坐标系。任何序列化方案都可以放到四个维度上打分:

维度
含义
JSON
Protobuf
FlatBuffers
自解释性 不看 schema 能否解析 强 弱(需 .proto) 弱(需 schema)
体积效率 同等信息的编码开销 基准 1.0 约 0.3~0.5 约 0.5~0.7
解析成本 CPU 与内存分配
赞(0)
未经允许不得转载:171主机测评 » 第265篇 序列化与传输体积:Protobuf 的取舍
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址