SherlockGougou / BigImageViewPager

🔥🔥🔥 BigImage ImageView ViewPager 支持超长图、超大图的图片浏览器,优化内存,支持手势放大、下拉关闭、查看原图、加载百分比、保存图片等功能。
Other
2.15k stars 248 forks source link

getGlideCacheFile的路径不完全正确 #122

Closed silentpride closed 3 years ago

silentpride commented 3 years ago

如果app配置了Glide的缓存路径,getGlideCacheFile取的文件目录就会有问题

图片加载的缓存目录 image

getGlideCacheFile取文件目录 image

这样就导致点了【查看原图】,且原图顺利下载到本地,退出页面在查看图片,还会显示【查看原图】的按钮。 此时点了【查看原图】,进度会卡在1%一直不动。

SherlockGougou commented 3 years ago

如果app配置了Glide的缓存路径,getGlideCacheFile取的文件目录就会有问题

图片加载的缓存目录 image

getGlideCacheFile取文件目录 image

这样就导致点了【查看原图】,且原图顺利下载到本地,退出页面在查看图片,还会显示【查看原图】的按钮。 此时点了【查看原图】,进度会卡在1%一直不动。

有按照README配置GlideModule吗?

silentpride commented 3 years ago

如果app配置了Glide的缓存路径,getGlideCacheFile取的文件目录就会有问题 图片加载的缓存目录 image getGlideCacheFile取文件目录 image 这样就导致点了【查看原图】,且原图顺利下载到本地,退出页面在查看图片,还会显示【查看原图】的按钮。 此时点了【查看原图】,进度会卡在1%一直不动。

有按照README配置GlideModule吗?

有的 image

silentpride commented 3 years ago

我强行把AppGlideModule配置里的的默认缓存目录换成这个 File(context.cacheDir, DiskCache.Factory.DEFAULT_DISK_CACHE_DIR) 就好了。

这里建议还是不要写死,ImagePreviewAdapter的onLoadFailed里,saveDir可能是变的;getGlideCacheFile里判断是否有缓存读的是File(context.getCacheDir(), DiskCache.Factory.DEFAULT_DISK_CACHE_DIR),容易出现缓存判断不准确的问题。

另外: https://github.com/SherlockGougou/BigImageViewPager/issues/52#issue-448404812 https://github.com/SherlockGougou/BigImageViewPager/issues/109#issue-648107892

这两个问题特别影响国际化的app,建议抽时间修复。

SherlockGougou commented 3 years ago

国际化已增加。