在 viewpager 中的 recyclerview 中加载大数据的性能问题

odi*_*fek 2 performance android android-fragments android-viewpager android-recyclerview

我的设置包括两个带有 viewpager 的选项卡设置。每个选项卡都包含一个片段,其中包含一个显示歌曲列表的 recyclerview。问题是,当将大量歌曲加载到 recyclerview 时,ui 会冻结一段时间。对于2000以上的歌曲,系统长时间冻结,然后抛出OutOfMemory错误。

注意:在一个简单的片段或活动中将数据加载到 recyclerview 中根本没有性能问题,即使数据集非常大。

我怎样才能优化这个?

odi*_*fek 5

所以我找到了问题的根源。NestedScrollView 中的 Recyclerview。因为我要显示三个 RecyclerView,所以我不得不使用 NestedScrollView 来包装它们。但是从这个问题中,我了解到在nestedScrollView 中使用recyclerview 将使recyclerview 在呈现它们之前希望一次创建所有视图。这就是为什么每次要显示数据时 UI 都会冻结的原因。