欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

2020-7-24:RecyclerView使用心得

程序员文章站 2022-03-23 22:17:06
最近优化收藏界面,收藏列表适配器采用RecyclerView,由于界面卡顿及不能多个文件同时下载,所以对其进行优化。界面卡顿原因: 主要是在onBindViewHolder中进行了耗时操作,计算文件MD5值,改为在Activity中处理。不能多个文件同时下载: 文件监听器加在了Adapter文件上,这样只能监听一个item的文件进度,并展示在界面上。将文件监听器改为加在CollectHolder上,并且在onBindViewHolder方法中通过某个holder的......

最近优化收藏界面,收藏列表适配器采用RecyclerView,由于界面卡顿及不能多个文件同时下载,所以对其进行优化。

界面卡顿原因:

        主要是在onBindViewHolder中进行了耗时操作,计算文件MD5值,改为在Activity中处理。

不能多个文件同时下载:

        文件监听器加在了Adapter文件上,这样只能监听一个item的文件进度,并展示在界面上。将文件监听器改为加在CollectHolder上,并且在onBindViewHolder方法中通过某个holder的set方法,将filemessage信息赋给某个holder。

((CollectHolder) holder).setFileMessage(message);

注意:holder是不断复用的,因此在将filemessage信息赋给某个holder之前判断这个holder是不是已经被setMessage了,如果已经有了要移除该filemessage的监听。

这样监听文件传输时针对不同holder,拿到不同布局,从而展示多个文件下载进度。

本文地址:https://blog.csdn.net/wuhao5211314/article/details/107561244