【Android】RecyclerView卡顿问题jerky

本文探讨了如何解决RecyclerView在滚动时出现卡顿的问题,重点在于发现并处理onBindView中的IO操作,尤其是Glide加载多图片时保存Bitmap到文件导致的延迟。通过将IO操作放到后台线程,利用ThreadPoolExecutor或ExecutorService,成功实现了流畅的滚动体验并确保了Bitmap的本地保存。
摘要由CSDN通过智能技术生成

解决RecyclerView卡顿的问题,找过很多问题的引发点,最后的解决灵感来自于这里:
onBindView里的IO操作导致RecyclerView scroll 卡顿
在项目中查找,发现onBindView中多图片使用Glide加载时确实是有保存bitmap到文件的IO操作,将IO操作注释掉,运行App,卡顿消失,这样,开始对IO动刀;
首先想到,每个IO操作新开线程来处理,为加快线程速度,保证预期效果不打太大折扣,想到利用ThreadPoolExecutor或者是ExecutorService进行
代码:

/*
   * 保存 bitmap到文件,并将文件路径返回,利用线程池新开IO线程,解决滚动时卡顿的问题
   * */
    public static String getFilePath(final Bitmap bitmap, String fileName) {

        final File picDir = Environment.getExternalStoragePublicDirect
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值