在加载本地存储的日志的时候,因为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);
}