ListAdapter与DiffUtil性能是否始终优于使用notifyItemXXX()的RecyclerView.Adapter?
关于大数据量列表更新的性能疑问
假设你有一个包含10000个条目的oldList(一个ArrayList),当修改索引为500的条目的属性时,有人会通过val newList = ArrayList(oldList)或currentList.toMutableList()创建深拷贝来更新列表。但这会生成一个包含10000个条目的全新列表,每个条目都会占用额外内存。即便时间复杂度为O(n),随着列表条目数量增加,更新时的拷贝成本也会持续上升。
在这种尤其是处理超过10000个条目的大数据量场景下,使用notifyItemChanged()、notifyItemInserted()、notifyItemRemoved()等方法,而非每次更新都创建新列表,难道不会更高效吗?在我看来,这种全量拷贝的做法完全是为了便捷性牺牲了性能。
内容的提问来源于stack exchange,提问作者CodingBruceLee
相关产品推荐
相关产品推荐

