android listview 최적화 방법
이 물건 은 면접 에서 도 많이 물 어 볼 수 있 는데,그럼 우 리 는 어떻게 거기에 대답 합 니까?
우선 나 는 이렇게 몇 가지 가 있다 고 생각한다.
1.listview 는 정의 할 때 너비 와 높이 를 고정 시 키 는 것 이 좋 습 니 다.그러면 listview 측정 횟수 를 줄 이 고 불 러 올 때마다 측정 하지 않도록 합 니 다.
2.페이지 별로 불 러 오 는 것 도 최적화 중 하나 입 니 다.메모리 최적화,그리고 체험 감 이 있 습 니 다.관심 이 있 으 면 빅 데이터 로 딩 을 시도 해 보 세 요.
3.convertView 는 레이아웃 의 재 활용 이다.
4.ViewHolder 의 사용 목적 은 findviewByID 의 횟수 를 감소 합 니 다.
다음 코드 는 3 과 4 를 검증 합 니 다.
 
 
public View getView(int position, View convertView, ViewGroup parent) {
  Log.e("========>>>>>", "getView-----position" + position);
  convertView = LayoutInflater.from(mContext).inflate(R.layout.item_list, null);
  return convertView;
}
public View getView(int position, View convertView, ViewGroup parent) {
  if (convertView == null) {
    convertView = LayoutInflater.from(mContext).inflate(R.layout.item_list, null);
    Log.e("========>>>>>", "getView-----position" + position);
  } else {
  }
  return convertView;
} 
 로 그 는 항상 이 몇 개의 데 이 터 를 볼 수 있 습 니 다.
ViewHolder
view Holder 를 사용 하지 않 으 면 코드 가 이 렇 습 니 다.
public View getView(int position, View convertView, ViewGroup parent) {
  if (convertView == null) {
    convertView = LayoutInflater.from(mContext).inflate(R.layout.item_list, null);
  }
  TextView textView = convertView.findViewById(R.id.tv);
   textView.setText(mArrayList.get(position));
  return convertView;
}
public View getView(int position, View convertView, ViewGroup parent) {
  ViewHolder viewHolder;
  if (convertView == null) {
    convertView = LayoutInflater.from(mContext).inflate(R.layout.item_list, null);
    viewHolder = new ViewHolder();
    viewHolder.mTextView = convertView.findViewById(R.id.tv);
    convertView.setTag(viewHolder);
  } else {
    viewHolder = (ViewHolder) convertView.getTag();
  }
  viewHolder.mTextView.setText(mArrayList.get(position));
  return convertView;
}
public static class ViewHolder {
  private TextView mTextView;
}이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.