RecyclerView加载图片滑动卡顿

在项目上线,遇到了一个让人很难受的问题,主界面滑动卡顿,有的手机情况情况还好,但是部分手机很糟糕,这个问题说实话让人很蛋疼。

RecyclerView相比较listview与gridview具有更多的活动性。所以在这个界面我使用万能刷新控件XRefreshView来包裹RecyclerView,item各有不同,第一个banner、第二个跑马灯效果、第三个gridview、第四个View、第五个view、后面的效果就是列表效果啦。

这种卡顿很多情况都是事件冲突所引起的,我的这个上面banner、跑马灯、gridview这些都可能存在滑动冲突,然后我把这些item一个个注释掉,但是效果并没有变好,这样说明我没有找到问题。

我用的图片加载框架是Fresco(3级缓存设计,合理运用好了设备本身的内存区域,图片管理过程非常高效,使得前端体验更加流畅,也较有效地避免了常见内存问题的产生。),他只加载当前展示区域的图片,在系统不足时,自己会去回收那些没有使用的内存。

在怀着不信的态度去尝试,是不是图片加载的消耗内存。注释这行代码后,果然成功了。0.0(很尴尬的找了那么久,测试环境图片分辨率都很小,正式环境图片分辨率达到了4000*3000换算下来加载一张图片内存需要消耗近30多M)

这里我相信大家知道了,是什么原因造成我界面的卡顿。图片加载消耗太多的内存,这样的情况轻者造成

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RecyclerView 加载图片时,存在一些优化的方法和技巧,以提升用户体验和性能方面的需求。 1. 图片压缩:在加载图片前,可以对图片进行压缩处理,减小图片的大小。可以使用图片处理库,如Glide、Picasso等,在加载图片时进行压缩处理。 2. 图片缓存:图片缓存可以减少网络请求,提高加载速度和用户体验。可以使用内存缓存和磁盘缓存,通过缓存已加载图片,避免重复下载。 3. 图片加载RecyclerView滑动过程中,可能会加载大量的图片,导致卡顿和性能下降。可以通过图片加载的方式,只在用户停止滑动加载可见区域的图片,提升性能。 4. 使用合适的图片尺寸:为了减小图片的大小和加载时间,可以根据不同的屏幕密度和展示大小,选择合适的图片尺寸进行加载。可以通过定义多套资源文件,使用不同的图片尺寸。 5. 预加载:可以预先加载接下来的一些图片,以提前获取图片资源,减少加载等待时间。 6. 延迟加载:可以延迟加载图片,等待RecyclerView停止滑动后再加载,避免一次性加载过多的图片。可以通过监听RecyclerView滑动状态和位置,判断何时加载图片。 7. 使用网络库:选择合适的网络请求库,如OkHttp、Retrofit等,可以提供更快速度、更稳定的网络请求,提高图片加载速度和用户体验。 8. 图片优化:在图片加载之前,可以对图片进行优化处理,如压缩图片、加密等操作,以减小图片大小和加快加载速度。 通过以上的优化方法和技巧,可以提高RecycleView加载图片的效率和用户体验,减少资源占用和流量消耗。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值