-
Notifications
You must be signed in to change notification settings - Fork 784
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2019-04-25:针对RecyclerView你做了哪些优化? #38
Comments
1,减少view type的种类,如果样式差别不大,可以公用一个布局。因为inflate调用比公用布局的绘制占用更多的性能。 |
RecyclerView作为android的重要View,有很大的灵活性,可以替代ListView GridView ScrollView,所以需要深入了解一下Rv的性能以及如何去处理优化,实现更加流畅体验,这点是毋庸置疑的,所谓的RV优化其实也是对适配器以及刷新数据的,还有资源复用的优化,下面是本人对RV的一点点优化处理:
看楼上说的挺好的,但是人家好谦虚,我也得谦虚点,说的很简单和片面,不喜勿喷! |
|
看了别人家的解答之前:我好像没有优化过,就这样用 |
我每天看完题的表情和我头像一样 |
楼上几位回答的, 我觉得很好, 讲一下, 我遇到的另一个面试题 |
1.利用DiffUtil对数据进行刷新。 onItemRangeInserted(), onItemRangeRemoved(), onItemRangeMoved()这几个方法时,可以避免重复的requestLayout,节省资源 |
|
@kakarottoll 为什么不能把点击事件设置在onBindViewHolder,设置在onBindViewHolder中会带来什么影响? |
onBind会多次调用导致new多个listener |
我司用的map存储 通过反射来做的holder组件库 可以交流下 |
RecyclerView优化 一句话思路 空间换取时间 使用内存空间来换取数据转化的时间 |
1.监听onscrolllistener 把一部分的图片加载和 视频控件出事化到 停止滚动的时候采取加载 |
但如果删除了一个item,需要重新确定holder的位置,listener中对holder有引用,这该咋弄 |
我一般通过调用三方框架来优化 |
1,viewType不要多套布局 布局中减少嵌套 |
No description provided.
The text was updated successfully, but these errors were encountered: