关于recyclerview复用导致应用卡顿崩溃

简介: recyclerview复用导致应用卡顿崩溃

内容如题,对于recyclerview复用,各个开发者都有自己的见解。
而本次实战中,就是因为复用,导致的一个性能问题。

场景还原

recyclerview里面有个textview控件,textview使用了setspan方法设置了图片。然后滑动了累计几十个有图片的item后,应用卡死崩溃了。查看日志发现,到后面每次有新的图片进行setspan的时候,就会进行一个累加,到十几个以后,就累加了一次需要加载十几个图片。

带着这个问题,观察思考。

最后发现是textview的recyclerview回收的时候,里面的span内容没有进行回收导致的。使用一下代码可以解决问题。
onBindViewHolder中,调用textview的
getEditable.clearspan()
getEditable.clear()
setText(null)
即可解决问题。原理是在每次加载的时候,都先清空textview原来的缓存信息,然后再更新数据。

that's all------------------------------------------------------------------------------------

目录
相关文章
|
6月前
|
缓存
fragment卡顿 的处理
fragment卡顿 的处理
49 2
|
XML 存储 缓存
RecyclerView 性能优化 | 把加载表项耗时减半 (一)
RecyclerView 性能优化 | 把加载表项耗时减半 (一)
11017 0
|
XML 存储 缓存
RecyclerView 性能优化 | 把加载表项耗时减半 (二)
RecyclerView 性能优化 | 把加载表项耗时减半 (二)
227 0
|
XML 存储 缓存
RecyclerView 性能优化 | 把加载表项耗时减半 (三)(下)
RecyclerView 性能优化 | 把加载表项耗时减半 (三)
127 0
|
XML 前端开发 数据格式
RecyclerView 性能优化 | 把加载表项耗时减半 (三)
RecyclerView 性能优化 | 把加载表项耗时减半 (三)
159 0
|
存储 缓存 Java
RecyclerView 性能优化 | 是什么在破坏缓存机制?
RecyclerView 性能优化 | 是什么在破坏缓存机制?
174 0
|
消息中间件 Android开发
读源码长知识 | Android卡顿真的是因为”掉帧“?
掉帧是因为生产帧速度跟不上消费帧速度。Choreographer 用于同步生产和消费帧的速度。以读源码方式还原掉帧时软件层面发生的事情。
269 0
|
存储 缓存 Android开发
RecyclerView 缓存机制 | 回收些什么?
RecyclerView 缓存机制是面试中的常客。上一篇文章讲述了“从哪里获得回收的表项”,这一篇会结合实际回收场景分析下“回收哪些表项?”。
110 0
|
Java 大数据 数据库
Activity卡顿、变慢的原因
Activity卡顿、变慢的原因
|
存储 缓存 索引
换一个思路,超简单的RecyclerView预加载
如何让列表加载分页数据过程无感知。一种实现方案是预加载,即在一页数据还未看完时就请求下一页数据。这一篇介绍一个超简单的预加载实现方案。
1093 0