리사이클 뷰는 새로운 것이지만 목록보기에서 2 코드의 차이점을 알고 싶습니다. 나는 이미 많은 것을 찾으려고했지만 특정한 대답을 얻지 못했습니다. 내가 아는 첫 번째는 메모리 소비 때문에 두 번째 더 빠르다. 그러나 두 번째 코드가 느린 이유는 무엇이며, 첫 번째 코드는 내부 프로세스가 무엇인지를 이해할 수있다.리스트 뷰 어댑터의 2 코드 간의 차이점은 무엇입니까?
이 첫 번째 코드
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final HashMap<String ,String > item = lst.get(position);
ViewHolderItem viewHolder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.shadow_request_row, parent, false);
viewHolder = new ViewHolderItem();
viewHolder.title = (TextView)convertView.findViewById(R.id.item_name);
viewHolder.msg = (TextView)convertView.findViewById(R.id.message);
convertView.setTag(viewHolder);
}else{
viewHolder = (ViewHolderItem) convertView.getTag();
}
viewHolder.title.setText(item.get(Const.USERNAME));
viewHolder.msg.setText(item.get(Const.GET_MESSAGE));
return convertView;
}
이 두 번째 코드
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final HashMap<String ,String > item = lst.get(position);
ViewHolderItem viewHolder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.shadow_request_row, parent, false);
viewHolder = new ViewHolderItem();
viewHolder.title = (TextView)convertView.findViewById(R.id.item_name);
viewHolder.msg = (TextView)convertView.findViewById(R.id.message);
}
viewHolder.title.setText(item.get(Const.USERNAME));
viewHolder.msg.setText(item.get(Const.GET_MESSAGE));
return convertView;
}
Malith Lakshan에게 감사드립니다.이 비디오에 대한 내 질문은이 비디오에서 볼 수 있습니다. 두 코드가 맞다고 말하고 있지만 왜 첫 번째 것이 더 빠릅니까? 이걸 보시기 바랍니다. https://www.youtube.com/watch?v=wDBM6wVEO70 – Nitish