RecyclerView多布局ITEM嵌套Viewpager、GridView等情况出现的滑动卡顿情况解决|RecyclerView一次加载全部Item

现在页面布局越来越复杂,很多情况下需要RecyclerView中的item嵌套其他的复杂布局,例如RecyclerView、Viewpager等。

上面这个布局的就是一个RecyclerView嵌套各种复杂item布局,中间的导航部分就是一个Viewpager嵌套GridView的情况。

向下滑动时,由于下面几个Item也是复杂布局(如GridView、或者是其他RecyclerView),因此,当你慢慢往下拉动的时候,item就会被加载,又因为它布局比较复杂,在显示渲染的时候就会需要一些时间,所以就会出现略微的卡顿情况。

 

要解决这个问题,有一个简单的思路,就是让RecyclverView 在首次加载的时候,把全部的Item加载完成。

recyclerView的加载机制是遵循只加载可视部分内容,所以,我们要一次加载完全部的item,显然没有现成的API可以用。

那么就要自定义RecyclerView? 不不不不.....这里有更简单的方案

答案是在布局中在RecyclerView外层嵌套一个NestScrollView!

嵌套了NestScrollView后,在首次加载的时候就会把全部的Item加载完,这样快速向下滑动的时候就不会出现卡顿啦!

 

另外,如果你使用了阿里家的VLayout 上述方法不生效!

还有,如果使用这种方式,注意一次不要放太多数据,使用下拉加载更多或者其他方案中和!

 

 

 

你可能感兴趣的:(Android)