NestedScrollView 嵌套RecyclerView 加载大量数据ANR

最近在做公司项目的时候,有一个设计是,一个页面,上面是一个普通的布局控件,下面是一个list,需要整体滑动,因此就使用了NestedScrollView 里面包线性布局,线性布局里面普通的控件+recyclerview,采用的是分页加载,刚开始测试数据没有问题,越加载的更多,越来越卡,最后直接ANR,整的我一脸懵逼,因为recyclerview是能进行布局复用的,加载大量数据是不可能出现ANR的,最终调试发现,onCreateViewHolder()被频发调用,原来,用NestedScrollView 嵌套RecyclerView的时候,RecyclerView会把所有的item一次性全部加载完,数据量小的时候,没什么感觉,但是等到数据量变大的时候,就会出问题。
最终解决方案:
①去掉NestedScrollView ,让RecyclerView单独滑动,这样就不会出现这种问题了,但是产品不一定同意。
②完美解决方式:采用多布局,让recyclerview上面的控件作为一个item加载进recyclerview上的第一个item,下面的item放list数据,这样就解决了~

特此记录一下~!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 又到了更新博文的时间了,最近在看一本很不错的心理学书籍,名字叫做 《拖延心理学》,封面长下面这样子 书的内容主要是...
    ec95b5891948阅读 57,605评论 38 472
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,554评论 0 17
  • 2015-11-17清晨 一山一树一柑橘,播种施肥看秋收。 诗未成文橘下肚,千言共语何日回?
    厚璞睿丰阅读 352评论 0 3
  • 我们毫不留情的把所有的美好寄托在一个偶然的瞬间,然后还做上一个独特的标记,是纪念也好,是警示也罢,总之里面藏着我们...
    蜗壳先生阅读 224评论 0 0