一 问题背景
经常会有画廊组件需要在当前展示给用户的页面进行下载功能。一般情况下下载按钮的UI曾经是和ViewPager同级的,而不是作为ViewPager中adapter对应的item一部分。
因此知道当前展示给用户的item页面及其bitmap在用户点击下载按钮时的处理,显得比较关键。
二 问题分析
一般情况重新获取url再次进行bitmap的下载是可以的,无法是获取currentItem及其position,然后从List中获取对应的url进行远程加载。虽然简单,但某些情况下会有问题。譬如,这个url从展示到下载其实链接已经可能发生了变更。
因此,直接使用当前已经显示的bitmap复用是一种较为划算的方式。
三 问题解决
以ViewPager2为例。

本文讨论了在画廊组件中实现下载功能时遇到的问题,如何避免因URL变更导致的重复下载。作者提出通过ViewPager2的bindViewHolder回调机制,加载图片时保存Bitmap,当用户点击下载时直接复用已加载的图片,提高了效率并解决了问题。
2478

被折叠的 条评论
为什么被折叠?



