Repository navigation
修复鉴权图片 URL 中签名变化导致缓存无法复用的问题,关联 #231。
- 新增
ImagePreview.setImageCacheKeyProvider,支持调用方提供稳定缓存键;不配置时保持按完整 URL 缓存。 - 统一图片预览、查看原图、保存图片和原始文件缓存查询的缓存键。网络请求与进度回调继续使用完整鉴权 URL。
- 文件下载改用
DiskCacheStrategy.DATA,修复downloadOnly()使用ALL引发 File 编码失败及重复 HTTP 请求的问题。 - 补齐现有 Media3 缓存管理器的 opt-in 注解,完整 lint 检查通过。
两个制品版本保持一致:
implementation "com.gouqinglin:BigImageViewPager:androidx-9.2.3"
// 可选视频插件
implementation "com.gouqinglin:BigImageViewPager-media3:androidx-9.2.3"Kotlin 接入示例:
ImagePreview.instance
.with(activity)
.setImageUrlList(urls)
.setImageCacheKeyProvider { url -> cacheKeysByUrl[url] }
.start()cacheKeysByUrl 为调用方准备的不可变映射,完整 URL 对应稳定资源键。缓存键应区分账号范围、内容版本和图片规格;返回 null 时保留该 URL 的默认规则。不要默认删除全部查询参数。
验证:Pixel 4 / Android 13 的 13 项仪器测试通过,覆盖真实图片双击缩放、滑动翻页、长图、横竖屏切换、签名轮换后重进、查看原图、保存图片、规格/版本/账号隔离、默认缓存规则和跳过缓存。核心库与 Media3 插件 Release AAR 构建、sample 构建、Gradle test、lint 和 git diff --check 通过。
详见 鉴权图片缓存接入说明。