• 全国 [切换]
  • 二维码
    混灰机械

    手机WAP版

    手机也能找商机,信息同步6大终端平台!

    微信小程序

    微信公众号

    当前位置: 首页 » 行业新闻 » 热点新闻 » 正文

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

    放大字体  缩小字体 发布日期:2020-01-12 15:31:52   浏览次数:1206  发布人:a2a4****  IP:117.173.23.***  评论:0
    导读

    内容如题,对于recyclerview复用,各个开发者都有自己的见解。 而本次实战中,就是因为复用,导致的一个性能问题。 场景还原 recyclerview里面有个textview控件,textview使用了setspan方法设置了图片。然后滑动了累计几十个有图片的item后,应用卡死崩溃了。查看日志发现,到后面每次有新的图片进行setspan的时候,就会进行一个累加,到十几个以后,就累加了一次需

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

    场景还原

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

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

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

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

    不推荐电脑端访问(用户少)
    请微信扫一扫,查看完整信息(记得微信收藏)
     
    (文/匿名(若涉版权问题请联系我们核实发布者) / 非法信息举报 / 删稿)
    打赏
    免责声明
    • 
    本文为昵称为 a2a4**** 发布的作品,本文仅代表发布者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,发布者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们154208694@qq.com删除,我们积极做(权利人与发布者之间的调停者)中立处理。郑重说明:不 违规举报 视为放弃权利,本站不承担任何责任!
    有个别老鼠屎以营利为目的遇到侵权情况但不联系本站或自己发布违规信息然后直接向本站索取高额赔偿等情况,本站一概以诈骗报警处理,曾经有1例诈骗分子已经绳之以法,本站本着公平公正的原则,若遇 违规举报 我们100%在3个工作日内处理!
    0 条相关评论
     

    (c)2008-现在 hunkui.com All Rights Reserved.