简介
CI Android SDK 主要提供 AVIF 和 TPG 的图像解码、图片网络加载优化、图片基础处理与变换等能力。
并且针对常用图片框架 Glide、Fresco 等做了相关封装,方便用户快速接入。
功能列表
功能 | 描述内容 | 图片库 |
图片格式支持 | TPG、AVIF、JPEG、PNG、BMP、ICO、WEBP、GIF、AWEBP、HEIF 动静图等格式解码。 | Glide、Fresco |
圆角设置 | 支持。 | Glide、Fresco |
静图渐进式图片加载 | 支持图片从模糊到清晰的阶梯加载过程,仅支持渐进式 JPEG。 | Fresco |
动图边下边播 | 支持边下边播能力,仅支持部分动图。 | Fresco |
动图循环播放 | 支持设置循环播放次数,包括无限循环播放。 | Glide、Fresco |
清除缓存 | 支持用户清除缓存。 | Glide、Fresco |
缓存控制 | 支持包括缓存大小配置、忽略内存缓存、忽略磁盘缓存、下载后不存内存缓存。 | Glide、Fresco |
高效网络库支持 | 支持 QCloud 网络库,支持 HTTP1.x、HTTP2 网络协议,内部包含 DNS、重试多种优化策略。 | Glide、Fresco |
自定义加载图片并发数 | 支持配置图片加载时的并发数,方便结合业务逻辑优化用户体验。 | Glide、Fresco |
HTTP DNS | 支持接入 HTTPDNS,有效避免由于运营商传统 LocalDNS 解析导致的无法访问最佳接入点,整个过程不使用域名,大大减少劫持的可能性。 | Glide、Fresco |
QUIC | 支持开启 QUIC 协议,提升弱网加载图片成功率,增强用户体验。 | Glide、Fresco |
整体设计
SDK 各模块说明
模块 | 功能 |
AVIF | AVIF 图片解码器以及 Glide、Fresco 等生态封装。 |
TPG | TPG 图片解码器以及 Glide、Fresco 等生态封装。 |
qcloud-decoder-network | 用于网络优化的 QCloud 网络库以及 Glide、Fresco 生态封装。 |
cloud-infinite | 该模块包含数据万象的基础图片处理操作,并支持各个操作能够相互组合,构建 URL 进行网络请求。 |
SDK 整体结构图


核心优势
接入门槛低,简单易集成
基于开源 Glide 以及 Fresco 框架封装,使用方式保持不变,方便开发者低成本快速接入。
灵活按需接入,减少包大小
SDK 为多模块设计,可以按需选择,尽量精简包大小。
自研 AVIF、TPG 解码,兼容性好且解码高效
自研图片解码器,兼容所有主流 Android 版本,而且解码效率高。
针对性网络优化,让图片加载更流畅
SDK 网络优化模块支持 HTTP DNS、QUIC、重试并发等配置,可以有效防劫持,提高弱网加载成功率,整体上提升用户体验。
相关资源
SDK Demo 请参见 万象图片 SDK Demo。
SDK 更新日志请参见 ChangeLog。
准备工作
1. 您需要一个 Android 应用,这个应用可以是您现有的工程,也可以是您新建的一个空的工程。
2. 请确保应用基于 Android 4.0.3 及以上版本的 SDK 构建。
集成与使用
根据您需要的模块查看具体的使用文档,进行集成和使用。
AVIF 解码器:
AVIF 解码器基础使用,请参见 AVIF 解码器。
Glide 加载 AVIF,请参见 Glide 加载 AVIF。
Fresco 加载 AVIF,请参见 Fresco 加载 AVIF。
加载超大图 AVIF,请参见 加载超大图 AVIF。
TPG 解码器:
TPG 解码器基础使用,请参见 TPG 解码器。
Glide 加载 TPG,请参见 Glide 加载 TPG。
Fresco 加载 TPG,请参见 Fresco 加载 TPG。
加载超大图 TPG,请参见 加载超大图 TPG。
图片加载网络优化:
Glide 网络优化,包括 HTTP DNS、QUIC 等,请参见 Glide 网络优化。
Fresco 网络优化,包括 HTTP DNS、QUIC 等,请参见 Fresco 网络优化。
数据万象的图片基础处理:
图片基础处理,请参见 快速入门。