GSON进入ListView速度慢

GSON into ListView slow speed

我正在尝试用 gson 解析 json,然后设置到列表视图中,但它需要很长时间,我想问问 Whosebug 社区。也许我做错了什么? 这是我如何将 json 放入列表视图

HashMap<String, Object> map = new HashMap<String, Object>();
Gson gson = new GsonBuilder().create();
ml = gson.fromJson(gsonString, Main.class);
HashMap<String, Object> map = new HashMap<String, Object>();
for(int i=0;i<ml.getData().getMessages().size();i++){
map.put(TAG_TITLE, ml.getData().getMessages().get(i).getTitle());
map.put(TAG_TIME, ml.getData().getMessages().get(i).getTime());
map.put(TAG_ID, ml.getData().getMessages().get(i).getId());
map.put(TAG_STATUS,ml.getData().getMessages().get(i).getStatus());
mailList.add(map);
}  

自定义适配器

public class MyAdapter extends SimpleAdapter {

public MyAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) {
super(context, data, resource, from, to);
}
public View getView(final int position, View convertView, final ViewGroup parent) {
View v = super.getView(position, convertView, parent);
 TextView txtTitle= (TextView) v.findViewById(R.id.msg_title);
 TextView txtTime= (TextView) v.findViewById(R.id.msg_date);
return v;
}
}

欢迎任何建议,如任何关于问题改进的建议,谢谢

我可以给你的一个建议是这个(它会减少过多的冗余调用)

Messages msg = ml.getData().getMessages();
for(int i=0;i<msg.size();i++){
    MessageValues mv = msg.get(i);
    map.put(TAG_TITLE, mv.getTitle());
    map.put(TAG_TIME, mv.getTime());
    map.put(TAG_ID, mv.getId());
    map.put(TAG_STATUS, mv.getStatus());
    mailList.add(map);
}  

注意 MessagesMessagesValues 是指示性的。在此处使用您的类型

你也声明了

HashMap<String, Object> map = new HashMap<String, Object>();

两次