Java 使用Glide,ArrayList会在ViewPager中重复自身?

Java 使用Glide,ArrayList会在ViewPager中重复自身?,java,android,arraylist,android-glide,Java,Android,Arraylist,Android Glide,我正在使用将图像从Drawables加载到包含ViewPager的片段中,所有操作都很顺利,但当我反复安装应用程序时,图像列表开始重复2,在ViewPager中3次,即在ArrayList的最后一页之后,它将从第一页开始,重复2、3次,然后重复该列表,如果我通过转到Settings>Apps清除应用程序数据,那么它会变好,我尝试跳过DiskMemory,但仍然一样 不重要,但这是我的PagerAdapter的一部分: Glide.with(mContext) .load(

我正在使用将图像从
Drawable
s加载到包含
ViewPager
的片段中,所有操作都很顺利,但当我反复安装应用程序时,图像列表开始重复2,在
ViewPager
中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类,我正在测试我的调试版本,版本代码在版本之间不会更改

Glide使用
versionDesignure(请参阅load(int)sources)
来确保我所经历的不会发生在现实生活中,因为Play Store会强制您在每个版本上更改版本

因此,当我们更改
VersionCode
Glide时,它不使用旧缓存,而是为新构建创建新缓存


希望它能帮助有同样问题的人

drawable
id可能会在每次编译时更改,这就是为什么我们有R类,我正在测试我的调试版本,版本代码在版本之间不会更改

Glide使用
versionDesignure(请参阅load(int)sources)
来确保我所经历的不会发生在现实生活中,因为Play Store会强制您在每个版本上更改版本

因此,当我们更改
VersionCode
Glide时,它不使用旧缓存,而是为新构建创建新缓存


希望它能帮助别人

展示你的代码,你在其中管理数组列表。
ArrayLists的简单长列表
,列表不会在新安装时重复,只有当我反复安装时,我认为它会重复,因为Glide的缓存系统。在清除应用程序数据并缓存后,它又恢复正常,您希望我更新什么?just
ArrayList
?是否只有在再次安装应用程序或关闭应用程序并再次打开时才会发生这种情况?请使用视图保持架模式来扩大列表。@SharpEdge仅在再次安装时使用,而不是在再次打开应用程序时使用,例如,如果我安装应用程序,然后查看几页,然后再次查看,然后重新安装或通过
ADB
再次推送它,那么一些
ArrayLists
可能会重复,所以我认为这是导致此问题的缓存?显示您正在管理数组列表的代码在一个简单的
ArrayLists
长列表中,新安装时列表不会重复,只有当我一遍又一遍地安装时,我认为它会重复,因为Glide的缓存系统。在清除应用程序数据并缓存后,它又恢复正常,您希望我更新什么?just
ArrayList
?是否只有在再次安装应用程序或关闭应用程序并再次打开时才会发生这种情况?请使用视图保持架模式来扩大列表。@SharpEdge仅在再次安装时使用,而不是在再次打开应用程序时使用,例如,如果我安装应用程序,然后查看几页,然后再次查看,然后重新安装或通过
ADB
再次推送它,那么一些
ArrayLists
可能会重复,所以我认为这是缓存导致此问题的原因?