NestedScrollView + RecyclerView加载缓慢

时间:2019-11-02 10:08:38

标签: android android-recyclerview android-nestedscrollview

我首先要说的是,有太多与此问题类似的问题。因此,在将其标记为重复分析之前,请先进行分析。

我有一个嵌套的滚动视图,里面放置了两个“回收者视图”。第一个是水平滚动。第二个是垂直滚动。

功能正常。现在的问题是第一次加载需要20秒。因此调用了ANR服务。加载后,滚动效果也很完美。

RestarantListAdapter restarantListAdapter = new RestarantListAdapter(activity, restaurants_1);
                    LinearLayoutManager linearLayoutManager1 = new LinearLayoutManager(activity, RecyclerView.VERTICAL, false);
                    binding.rvRestaurants.setLayoutManager(linearLayoutManager1);
                    binding.rvRestaurants.setAdapter(restarantListAdapter);

binding.rvRestaurants.setNestedScrollingEnabled(false);

ViewCompat.setNestedScrollingEnabled(binding.rvRestaurants, false);

我尝试了上面的代码。还有其他可能解决第一次加载的问题。

1 个答案:

答案 0 :(得分:0)

当您在NestedScrollView中使用RecyclerView时,将立即绘制所有项目(您可以检查onBindViewHolder的调用次数)。因此,您基本上失去了RecyclerView所提供的所有性能改进,并且得到了类似ListView的东西。因此,如果您真的不需要在NestedScrollView中使用RecyclerView,请不要这样做。