iielse / imageviewer

A simple and customizable Android full-screen image viewer 一个简单且可自定义的Android全屏图像浏览器
MIT License
2.23k stars 310 forks source link

和Glide结合有问题 #96

Closed androidWht closed 4 years ago

androidWht commented 4 years ago

测试发现使用Glide加载显示的第一张图片是压缩的,glide加载应该是结合view的尺寸来的,这里和动画效果结合有问题,开始的时候glide得到得view大小应该是不对的。 image 你可以测试一下,第一张图片很小和模糊。

iielse commented 4 years ago

没有太明白,你是在测试我的demo数据吗?第一张图走的是超长图‘清明上河图’那个数据? 那个是'分片'加载的,需要双击放大。走的 load(subsamplingView)

iielse commented 4 years ago

如果是指的超大图, 动画的效果问题 详见 subsampling-scale-image-view/issues/313 . 目前大佬们那边没有很好的解决方案. 这个库目前用 fade 效果 '藏拙'一下

androidWht commented 4 years ago

是你的demo,不是用的SubsamplingView是PhotoView,不是超大图。假如一个1080*1920的图,如果它是第一页显示glide加载出来会很小,如果它不是第一页显示,从别的页滑动到这一页那glide是按原图加载的。

androidWht commented 4 years ago

图片 图片 截图可以明显看的出来。你的demo。

androidWht commented 4 years ago

使用override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)可以避免这个问题,但这样加载显示原图,超大图的话内存可能受不了。

iielse commented 4 years ago

问题已复现 我研究下

iielse commented 4 years ago

这个问题应该是那个androidx.transition动画影响了view size 导致的。 应该是glide加载第一波需要等viewsize出来,结果取成了transition刚刚开始的缩略图size。 我现在在 transition结束后 加了一次 【rebind】。 虽然清晰图会出来,但是这个第一次会闪烁, 我这里需要一些时间来选择解决方案。bug先挂一下

iielse commented 4 years ago

@androidWht 你看下,现在应该解决了,没啥问题后,我就发个新的。

iielse commented 4 years ago

感谢支持哈, 最近的bug都是你发现的 [doge]

androidWht commented 4 years ago

晚点后试下,谢谢! 集成过程中发现的,实现先显示缩略图后显示大图功能,发现怎么都不对,总是模糊的,弄了很久才找到问题。

androidWht commented 4 years ago

应该没问题了,麻烦发布一下版本。 谢谢!!