以前使用RecyclerView的时候基本没受RecyclerView复用的影响,最近在RecyclerView中用Glide加载图片的时候发现RecyclerView滑动的时候RecyclerView复用导致了ImageView显示图片先是被复用的item应该显示的图片,然后才加载该位置的item该显示的图片。经过两三天的百度,发现最有效的方法是在Adapter的onCreateViewHolder里先给ImageView 设置一个占位符,再进行加载图片,这样图片混乱的问题是解决了,但是滑动RecyclerView的时候所有的item都要经历由占位符到图片的过程,所以我就想给RecyclerView来个预加载,就给RecyclerView设置了setItemViewCacheView,这样问题就解决了。
抱着试试的心态,我把ImageView 的占位符去掉了,结果效果依旧完美。所以要解决复用造成的图片混乱,只要给RecyclerView设置setItemViewCacheSize就OK
一句代码解决RecyclerView复用导致的网络图片加载混乱的问题
最新推荐文章于 2021-09-12 14:49:58 发布