问题记录:图片加载快速滑动闪动问题
此问题本身处理起来还算简单,但是因为顺手做了两部分code优化,导致此问题多花费了一些精力,这里记录下,方便后续查看
前置条件介绍:
- 使用recycleview显示图片列表;
- 多线程加载图片,获取后给到UI线程显示;
问题描述:
- 快速滑动图片列表,后续加载的图片会出现闪烁,且在列表中会发现有重复情况;
- 修复上述问题后,发现viewPager和RecyclerView快速向后滑动,约在第17张之后会出现偶尔几张加载不出来的情况;
问题分析:
问题一现象分析:
- 闪烁说明此时该item有快速刷新图片(可能是不同图片);
- 重复说明load图片完成后到show这张图片的逻辑中有问题(而此处为了防止图片显示到错误的item是有做判断的:将image path添加到view tag中,显示时判断);
怀疑点:
则此问题已经非常清晰了,一定是获取图片后显示到对应的imageview时的逻辑处理有问题,则继续check这部分流程:从code逻辑来看imageview的对象和path是绑定的,也就是说正常情况下并不会出现一个imageview上显示多个图片的情形;
- 考虑到快速滑动的应用场景,