家人们, 50000 多个数据插入 Grid LayoutManager(三行九列)的 RecycleView 后光标滑动非常卡顿,有什么优化办法?

18 天前
 Chelseawin

客户硬性要求,只能三行九列显示

2590 次点击
所在节点    Android
35 条回复
Chelseawin
17 天前
@felix0liu 不加载图片还是卡顿
Chelseawin
17 天前
@qwwuyu 没有嵌套,就是 GridLayoutManager 。我取消图片还是会卡
MozzieW
17 天前
RecyclerView 只渲染屏幕显示的数据,5000 行数据只增加内存和自己代码处理的复杂度(耗时),检测一下一下自己写的代码的运行耗时,加日志、使用第三方库、使用 Profile 功能,找到是哪个函数、代码耗时长,针对解决
Chelseawin
17 天前
@MozzieW 好的,感谢老哥
wgl
17 天前
你看看你的 Item 布局有没有嵌套很多层布局,我之前就有个同事,嵌套了很多层,然后代码死活检查不出来哪里造成的,然后一看布局,套了好几层
yukiww233
17 天前
盲猜一下, recyclerview 用了 wrap_content?
RecyclerView 性能和 item 数无关
zhaoweihao
17 天前
感觉像是用了 wrap_content ,这样会导致 recyclerview 的复用其实无效了
yor1g
17 天前
设备配置是什么? 打包出来还卡?
Chelseawin
17 天前
@yor1g 4+128 的 Android TV 盒子
yor1g
17 天前
@Chelseawin 打包出来性能还卡吗 不要调试 性能差的设备调试可能会很卡 尤其是有断点
liuchenx
17 天前
你这必然是代码的问题,哪里处理不对导致 recyclerview 的缓存复用没有生效
azhangbing
17 天前
跟数据量没关系 ,检查一下布局可能导致列表重绘的可能
tiiime
17 天前
auhah
16 天前
onBindViewHolder 里面开启了 IO 线程

。。。。

起码用个线程池啊哥,线程池用着麻烦协程走起来
Chelseawin
16 天前
@auhah 我错了,我错了。这项目就我一个人搞,没人带我

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1069495

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX