gpt4 book ai didi

java - RecyclerView Adapter 性能方法

转载 作者:行者123 更新时间:2023-12-02 04:16:02 25 4
gpt4 key购买 nike

我有一个 AsyncTask,它从 Internet 下载数据,创建少于 30 个 MyObject 对象,并将其添加到列表中。最后,我将创建一个将列表作为参数传递的 MyAdapter 并将 MyAdapter 设置为回收器 View 适配器:

 myList.add(new MyObject("aa", "bb", cc"); //for each piece of data by Internet
MyAdapter myAdapter = new MyAdapter(myList);
recyclerView.setAdapter(myAdapter);

现在我正在考虑一种更好的编程方法:我在 AsyncTask 启动之前创建一个新的 MyAdapter ,将其分配给 RecyclerView 并为每个新的 MyObject 我调用 MyAdapter 方法将对象添加到列表中并调用 notifyItemInserted:

 myAdapter = new MyAdapter();
recyclerView.setAdapter(myAdapter);
myAdapter.addMyObject(new MyObject("aa", "bb", cc"); //for each piece of data by Internet

public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private List<News> data = new ArrayAdapter<>();

public void addMyObject(MyObject myObject) {
data.add(myObject);
notifyItemInserted(this.data.size() -1);
}
}

我想了解第二种方法在以下方面是否比第一种方法更好:

  1. 响应式用户界面;
  2. 性能;

最佳答案

我不是专家,但我认为第二种方法会强制您的 RecyclerView 重绘自身约 30 次(每个 MyObject 一次),而第一种方法只执行一次绘制过程。由于你的元素很少,我认为第一种方法是可以的。但请等待比我更精通该领域的人的答案。

关于java - RecyclerView Adapter 性能方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33308814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com