ListView 메모리 누 출 분석
2858 단어 ListView
http://www.cnblogs.com/loulijun/archive/2012/04/10/2437888.html
http://www.cnblogs.com/xiaowenji/archive/2010/12/08/1900579.html
질문
http://www.apkbus.com/android-18525-1-1.html
위의 두 편의 글 을 보면 대체적으로 listView 체제 에 대해 비교적 명확 하 게 이해 할 수 있다.또한 listView 에 대해 서 는 각 항목 의 난 서 를 주의해 야 한다.최 적 화 된 뷰 를 사용 하면 다시 사용 하 는 뷰 입 니 다.뷰 홀 더 를 사용 하면 다시 사용 하 는 뷰 안의 모든 구성 요소 가 되 기 때문에 다른 항목 의 구성 요소 의 변 화 를 일 으 키 지 않 고 모든 구성 요 소 를 단독으로 제어 하 는 방법 에 주의해 야 합 니 다.예 를 들 어 다음 그림 과 같다.
listview 의 모든 항목 에 있 는 그림 한 장과 세 개의 단추(공유,재생,삭제).위의 설정 과 사진 찍 기 단 추 는 listview 에 속 하지 않 으 며 화면 에 고정 되 어 움 직 이지 않 습 니 다.)현재 재생 단 추 를 누 르 면 다른 항목 의 재생 단추 에 영향 을 주지 않 습 니 다.
내 솔 루 션:문자열 배열 을 설정 한 다음 배열 의 모든 항목 의 변 화 를 제어 합 니 다.코드 는 다음 과 같 습 니 다:
// GetView
holder.btnPlay.setText(btnTexts.get(position));
holder.btnPlay.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Button btn = (Button)v;
//
if (btn.getText().equals(" ")) {
System.out.println(" ");
btn.setText(" ");
btnTexts.set(position, " ");//btnText ArrayList<String>.
function.play(mList.get(position));
} else {
System.out.println(" ");
btn.setText(" ");
btnTexts.set(position, " ");
function.pause();
}
}
});
물론 이것 이 가장 좋 은 것 은 아니다.단지 잠시 문 제 를 해결 할 뿐이다.인터넷 상에 서 이런 문제 에 대해 서도 많은 해결 방안 이 있 는데,여기 서 나 는 얕 은 견 해 를 발표 하지 않 겠 다.
한 마디 로 하면 모 바 일 개발 의 가장 핵심 적 인 문제 도 가장 골 치 아 픈 문 제 는 바로 핸드폰 의 성능 문제 이다.
배터리 유한,메모리 유한,cpu 처리 능력 유한,네트워크 불안정 등.
성능 최적화 에 도 많은 해결 방법 이 있다.중요 한 것 은 문 제 를 발견 하고 테스트 한 다음 에 증상 에 따라 약 을 써 서 문 제 를 해결 하 는 것 이다.예 를 들 어 bitmap 최적화,어디서 최적화 하 는 지,listview 에 불 러 올 때마다 초기 화 할 때 이 중간 성능 이 얼마나 큰 차이 가 있 는 지.자원 재 활용 시 단일 모델 을 사용 하 는 지,공장 모델 을 사용 하 는 지 고려 하 는 지 여부;하드웨어 자원 을 사용 할 때 이 스 레 드 에서 다시 스 레 드 를 열 어 호출 합 니 다.cpu 소모 가 큰 조작 을 만 났 을 때 로 컬 방법 에 쓰 여 있 습 니까?
——그냥 남 겨 두 려 고.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Flutter의 ListTile에서 높이를 지정하면 레이아웃이 무너지는 문제현재 업무로 1개월 반 정도 Flutter를 사용하고 있습니다. 아주 좋은 팀으로, 최근에는 Flutter 자체에도 열중해 왔습니다. title, subtitle, leading, trailing 등을 설정하는 것만...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.