使用 Glide,ArrayLists 在 ViewPager 中重复自身?
Using Glide, ArrayLists repeats itself in a ViewPager?
我正在使用 Glide 将图像从 Drawable
加载到包含 ViewPager
的片段中,一切正常,但是当我一次又一次地安装应用程序时,列表图像在 ViewPager
中开始重复 2、3 次,即在 ArrayList
的最后一页之后,它将再次从第一页开始重复 2、3 次并重复列表,如果我通过以下方式清除应用程序数据转到 Settings>Apps
然后就没问题了,我试着跳过 DiskMemory
但它还是一样。
不重要,但这是我的部分 PagerAdapter
:
Glide.with(mContext)
.load((Integer) data.get(position))
.fitCenter()
.diskCacheStrategy(DiskCacheStrategy.NONE)
.into(mImageView);
解决此问题的最佳方法是什么?退出时清除缓存?还是跳过内存和磁盘缓存?
图片的数量确实很大,大约有 700 张,但是图片的大小并不多,大约 30kb 到 50kb。
对于遇到同样问题的其他人。
drawable
ID 可能会在每次编译时发生变化,这就是我们使用 R class 的原因,我正在测试我的调试版本,并且版本代码在不同版本之间没有变化。
Glide 使用 VersionCodeSignature (see load(int) sources)
来确保我所经历的事情不会在现实生活中发生,因为 Play 商店会强制您在每次发布时更改版本。
所以当我们更改 VersionCode
Glide 不使用旧缓存并为新构建创建新缓存。
希望对大家有所帮助
我正在使用 Glide 将图像从 Drawable
加载到包含 ViewPager
的片段中,一切正常,但是当我一次又一次地安装应用程序时,列表图像在 ViewPager
中开始重复 2、3 次,即在 ArrayList
的最后一页之后,它将再次从第一页开始重复 2、3 次并重复列表,如果我通过以下方式清除应用程序数据转到 Settings>Apps
然后就没问题了,我试着跳过 DiskMemory
但它还是一样。
不重要,但这是我的部分 PagerAdapter
:
Glide.with(mContext)
.load((Integer) data.get(position))
.fitCenter()
.diskCacheStrategy(DiskCacheStrategy.NONE)
.into(mImageView);
解决此问题的最佳方法是什么?退出时清除缓存?还是跳过内存和磁盘缓存?
图片的数量确实很大,大约有 700 张,但是图片的大小并不多,大约 30kb 到 50kb。
对于遇到同样问题的其他人。
drawable
ID 可能会在每次编译时发生变化,这就是我们使用 R class 的原因,我正在测试我的调试版本,并且版本代码在不同版本之间没有变化。
Glide 使用 VersionCodeSignature (see load(int) sources)
来确保我所经历的事情不会在现实生活中发生,因为 Play 商店会强制您在每次发布时更改版本。
所以当我们更改 VersionCode
Glide 不使用旧缓存并为新构建创建新缓存。
希望对大家有所帮助