나는 안드로이드 응용 프로그램에서 작업 중입니다. 목록보기가 포함 된 활동이 있습니다.목록보기 항목은 사용자가 스크롤 할 때 메모리에서 비트 맵을 제거합니다.
목록보기에는 항목이 많으며 각각 비트 맵 이미지가 포함되어 있습니다.
목록이 매우 크고 비트 맵을로드 할 때 일부 오래된 장치에서 많은 이미지를 포함하고 있기 때문에 메모리 오류가 발생합니다. 뷰에있는 항목에 대한 비트 맵 (또는 근처)
- 로드
- 때 사용자가 스크롤 I 다운 : 은 그래서 기존의 장치에 대해 다음과 같은 작업을 수행 할 수있는 방법을 찾고 있어요 그에게 나타날 비트 맵을 로드하고 이제 숨겨진 비트 맵을 제거하십시오.
- 언제든지보기에 있거나 그 근처에있는 이미지 만 힙에로드되고 다른 이미지는 더 이상보기에 없어지면 제거됩니다.
할 방법이 있습니까? 추가 정보
: 나는 (안드로이드 문서에 내가 찾을 수있는 사이트에) 효율적으로 비트 맵 이미지를로드하는 방법에 대한 모든 지침과 코드를 따랐다
, 나는 또한 확인했다은 전혀 기억이 없다 누수가 발생하면 모든 비트 맵을 재활용하고 GC가 올바르게 작동하는지 확인하고 마지막으로 오래된 장치에서 이미지의 해상도를 가능한 한 최소화했습니다. 그러나 목록의 크기로 인해 일부 장치에는 메모리 부족 현상이 계속 발생합니다.
위 제안 된 해결책을 수행 할 수 있는지 알고 싶습니다.
감사합니다 당신은 '게으른로드'에 대한 몇 가지 자습서 및 예제를 검색 싶어 도움
뷰 홀더 패턴을 구현하려 했습니까? –