编辑
onCreateViewHolder调用次数过多得问题。
本文访问次数:0

之前的布局如下所示

|   LinearLayout                     |
|       - orientation vertical       |
|                  |                 |
|                  |                 |
|  RecyclerViewOne | RecyclerViewTwo |
|    - width 100dp |     - width 0dp |
|                  |     - weight 1  |
|                  |                 |

解决运行的时候发现有卡顿出现,经过一番调式,发现onCreateViewHolder调用的次数太多。正常情况下,系统会检测屏幕内item的个数,如果一屏只能显示5个item,那么onCreateViewHolder也只会调用5次,而在这种布局下,onCreateViewHolder调用了n次,ngetItemCount返回的数值。将布局修改为下面的样子后,bug解决

|   RelativeLayout                                    |
|                                                     |
|                  |                                  |
|                  |                                  |
|  RecyclerViewOne |   RecyclerViewTwo                |
|    - width 100dp |     - width match_parent         |
|                  |     - toRightOf RecyclerViewOne  |
|                  |                                  |

分析一下,问题之所以会出现,是因为LinearLayout的方向为水平,所以系统会检测在水平方向上,屏幕需要多少个item。

没有任何评论