android点赞刷新列表图片闪烁,RecyclerView使用——有效解决刷新数据错乱,图片闪烁,OOM问题...
做项目时,用到RecyclerView去加载1w张图片,为了防止OOM,需要进行分页预加载;这些完成后测试发现刷新recyclerView会造成数据错乱,在查阅资料得到一下的解决方法.
根据网上资料:
adapter.setHasStableIds(true);//相当于给ImageView加了一个tag,tag不变的话,不用重新加载图片
在adapter中,需要重写getItemViewType方法。
@Override
public int getItemViewType(int position) {
return position;
}
这样确实解决了数据错乱和更新item图片闪烁的问题,但是当我下滑加载1w张图片时发现item并没有回收,最后就OOM了.经过分析 原来是上面的修改导致的,getItemId使每个item都是一个类型,如果你要显示多类型的布局更不能这样设置了.
解决方法:
1.去掉getItemViewType和batchImportAdapter.setHasStableIds(true)后解决OOM;但是数据错乱了.
2.将刷新单个item的notifyDataSetChanged替换成notifyItemChanged(position)后解决数据错乱;但是会更新状态时图片会出现闪烁.(在更新单个item不要使用notifyDataSetChanged,它会刷新全部的item浪费资源和造成数据错乱)
3.设置RecyclerView.setItemAnimator(null);取消动画效果,解决闪烁问题.
android点赞刷新列表图片闪烁,RecyclerView使用——有效解决刷新数据错乱,图片闪烁,OOM问题...相关推荐
- android 点赞姓名列表,从类型和列表内容分析:APP点赞的3种方式
原标题:从类型和列表内容分析:APP点赞的3种方式 收集了大量APP点赞列表,通过对比,主要有三种方式.三种方式都从APP的类型.点赞的列表内容量两个方向来分析. 如下图: 一.点赞列表和评论.转发. ...
- php获取图片宽高相反,exif_read_data()解决上传图片旋转、图片反向问题,getimagesize获取图片高度宽度相反的问题...
PHP getimagesize 函数获取的图像宽高反了? exif_read_data()解决上传图片旋转.图片反向问题,getimagesize获取图片高度宽度相反的问题,手机图片上传之后出现了反 ...
- android activity调用Adapter方法刷新列表UI,RecyclerView.Adapter
在adapter中创建被调用方法cleckAll public class JYfkleixinAdapter extends RecyclerView.Adapter<JYfkleixinAd ...
- Android点赞头像列表
http://www.jcodecraeer.com/a/opensource/2017/0630/8137.html
- Java 算法合并 Geoserver 切片生成指北针图片:高效、优雅解决地图数据可视化问题
实现逻辑: 安装 Java 开发环境和 GeoTools 库.GeoTools 是一个 Java 库,可以用于处理和操作地理空间数据.可以从 GeoTools 的官网上下载最新版本的库,然后将其添加到 ...
- 服务器外链图片不显示,一次解决WordPress引用外部图片无法显示问题
这几天有些事情比较忙,网站更新并不是特别的用心.有网友提到自己在使用WordPress网站的时候出现怪异的问题,在同一台服务器中两个网站.一个网站在引用新浪图床的图片没有问题,但是另外一个网站居然无法 ...
- 解决layui数据表格显示图片不完整
<table class="layui-table" id="activityTable" lay-data="{height:315, url ...
- element ui 图片加载失败_解决Element UI - el-image 图片初始化加载失败问题
最近使用elementUI的el-image发现经常会出现加载src失败的情况,问题估计就是e-image的src路径一旦初始化加载失败的话就没有异步刷新,(这个地方需要注意过这个问题的大佬解读下源码 ...
- android电脑文件列表不刷新,Android 利用RecyclerView.Adapter刷新列表中的单个view问题...
首先使用RecyclerView的adapter继承:RecyclerView.Adapter public class OrderListAdapter extends RecyclerView.A ...
最新文章
- 解题报告:luoguP6685 可持久化动态仙人掌的直径问题
- android运动轨迹rungps_android运动轨迹rungps_Android使用百度地图API实现GPS步行轨迹...
- Castle IOC容器实践之TypedFactory Facility(一)
- 对 C++ 历史的个人观点
- socket编程实例_NIO之网络编程源码阅读
- javascript中的字符串编码、字符串方法详解
- Java面试之锁-公平锁和非公平锁
- 第4章 旋转蛇(《C和C++游戏趣味编程》配套教学视频)
- python 数据比对 函数_用python比对csv文件中的数据
- 一道求因子之和面试算法题
- C++求复数的角度_高考数学一轮复习33,复数,常见类型及解题策略
- R语言爱好者必备——R语言速查表(高清版可下载)
- 计算机英语 1000字论文范文,英语论文格式写作 1000字论文格式-免费论文范文
- Insyde uefi 隐藏设置_文颐法语:iOS 14安装后发现的9个隐藏的iPhone功能
- rtc芯片rx8025t在linux 3.10下的的驱动
- linux 主机卫士安装及使用
- 关于“wuauclt.exe”病毒的清理
- 进制转换之2进制与16进制之间的相互转换
- 微信小程序中的wx.navigateTo跳转路径写法
- android devik进程,suckit后门程序的分析 (二)
热门文章
- mui与java开发实例_mui开发的app例子,非常好资源,适合初学者
- 服务器 mysql iis 内存_windows服务器iis配置php和mysql环境图文教程
- 计算机系统结构安全检测,信息安全体系结构安全测评实验报告.doc
- Java 算法 数字分类
- Java 算法 寂寞的数
- python使用datetime获取两个时间的时间差,与时间的加减运算
- Markdown 添加emoji
- pandas日常数据处理
- mysql被更新失败_更新mysql出错:出错原因 You are using safe update mode
- docker删除mongo数据库库_Docker 搭建MongoDB环境