我正在使用Jetpack Compose中的Coil。我注意到在我的LazyColumn项目中,使用Coil从网络下载的图像(一旦这些图像被缓存)在设备离线时加载得更快。
当设备联网时,似乎Coil仍然会获取网络副本,即使本地已经存在缓存版本的图像。
我希望Coil按照以下顺序优先获取图像:
当设备联网时,似乎Coil仍然会获取网络副本,即使本地已经存在缓存版本的图像。
我希望Coil按照以下顺序优先获取图像:
- 检查内存缓存是否存在
- 如果不存在,则检查磁盘缓存是否存在
- 如果上述两者都不存在,则从网络中获取
ImageRequest.Builder(LocalContext.current)
.data(downloadUrl)
.crossfade(true)
.crossfade(coilFadeDuration)
.error(R.drawable.black_color_rectangle)
.placeholder(R.drawable.placholder)
.fallback(R.drawable.black_color_rectangle)
.networkCachePolicy(CachePolicy.ENABLED)
.diskCachePolicy(CachePolicy.ENABLED)
.memoryCachePolicy(CachePolicy.ENABLED)
.diskCacheKey(downloadUrl)
.memoryCacheKey(downloadUrl)
.diskCacheKey(downloadUrl)
.memoryCacheKey(downloadUrl)
.size(Size.ORIGINAL)
.build()