recycleView 一次性加载超过1000条,ANR

2022-05-16  本文已影响0人  杜白白白

在加载本地存储的日志的时候,因为recycleView 外面加了NestedScrollView,导致应用直接ANR,因为加了NestedScrollView以后,会一次性的把所有数据加载

两种处理方法,一种是把另外的布局做成recycleView的headView

另一种是做成分页。

我选了第二种,改起来比较简单,把数据做成分页,每次加载100条


 //一下子加载上千条数据会导致ANR,所以做了分页
        binding.textRecycleView.setMyRefreshListener(new MyRecyclerView.MyRefreshListener() {
            @Override
            public void onHeaderRefresh() {
                textPage = 1;
                showTextList();
                binding.textRecycleView.setRefreshing(false);
            }

            @Override
            public void onFooterRefresh() {
                if (textPage*PAGE_SIZE<textList.size()) {
                    textPage++;
                    showTextList();
                }
            }
        });

private void showTextList(){
        if (PAGE_SIZE*textPage<textList.size()){
            currentTextList=textList.subList(0,PAGE_SIZE*textPage);
        }else {
            currentTextList=textList;
        }
        textAdapter.setData(textList);
    }
上一篇 下一篇

猜你喜欢

热点阅读