Android 静态图片格式选型指南

📦 Android 静态图片格式选型指南

格式 压缩方式 透明通道 体积 解码速度 适用场景 推荐指数
WebP 有损 / 无损 比 PNG 小 26%,比 JPG 小 30% 中等 默认首选,适合绝大多数场景 ⭐⭐⭐⭐⭐
Vector Drawable 矢量 极小(1~3KB) 较慢(CPU 绘制) 纯色 / 简单渐变的扁平图标 ⭐⭐⭐⭐⭐
JPG / JPEG 有损 快(硬件加速) 极低端机型的启动页 / 全屏背景 ⭐⭐⭐
AVIF 有损 / 无损 比 WebP 再小 50% 慢(需软解) Android 12+ 高端机型的大图 ⭐⭐⭐⭐
PNG 无损 中等 仅限 < 5KB 的小图标,或作为 9-Patch 的源文件 ⭐⭐
9-Patch (.9.png) 无损(PNG 扩展) 比 PNG 略大 中等 聊天气泡、按钮背景等需要局部拉伸的 UI ⭐⭐⭐⭐

📐 选型决策树

                     ┌─────────────────────────┐
                     │     这是一张什么图?      │
                     └────────────┬────────────┘
                                  │
         ┌────────────────────────┼────────────────────────┐
         ▼                        ▼                        ▼
    【UI 图标/元素】          【照片/大图】            【需要拉伸的背景】
         │                        │                        │
         ▼                        ▼                        ▼
    是否需要拉伸?          是否需要透明?          使用 9-Patch
         │                        │                        │
    ┌────┴────┐             ┌────┴────┐
    ▼         ▼             ▼         ▼
   是         否            是         否
    │         │             │         │
    ▼         ▼             ▼         ▼
 9-Patch  是否纯色?    WebP 无损   是否极低端机型?
    │         │             │         │
    ┌────┴────┐             ┌────┴────┐
    ▼         ▼             ▼         ▼
   是         否           是         否
    │         │             │         │
    ▼         ▼             ▼         ▼
 Vector    WebP 无损     保留 JPG   WebP 有损
                               (解码快)  (质量 85)

🛠️ 转换工具清单

目标格式 推荐工具 使用方式
PNG/JPG → WebP cwebp 命令行 cwebp -q 85 input.png -o output.webp
PNG/JPG → WebP Android Studio 内置 右键图片 → Convert to WebP
PNG → AVIF avifenc 命令行 avifenc --min 0 --max 0 -s 8 input.png output.avif
PNG → Vector Android Studio Vector Asset New → Vector Asset → Local SVG
9-Patch 制作 Android Studio 9-Patch 编辑器 右键 .9.png → Create 9-Patch
PNG 有损压缩 TinyPNG(在线) tinypng.com
多格式对比预览 Squoosh(在线) squoosh.app

🎙️ 总结

“我们在静态图片的格式选型上,遵循一套清晰的决策标准:

  • 默认首选 WebP,同时支持有损/无损和透明通道,体积比 PNG 小 26%、比 JPG 小 30%;
  • 纯色扁平图标用 Vector Drawable,体积只有 1~3KB,无限缩放不失真;
  • PNG 只保留小于 5KB 的小图标,其余全部迁移到 WebP;
  • JPG 只在极低端机型的启动页等场景保留,因为硬件解码速度最快;
  • AVIF 作为未来方向,目前在 Android 12+ 的高端机型上试点;
  • 需要拉伸的背景图固定使用 9-Patch

转换时主要用 Android Studio 内置工具cwebp 命令行Squoosh,通过 Analyze APK 验证收益。”

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容