게으름로드에 대한 게시물을 검토했지만 문제는 조금 다릅니다.Android : 게으른 로딩 중 갤러리
크기가 비교적 큰 20 개의 이미지 (각각 400-500K)를 표시하는 갤러리 (내 클래스 확장 갤러리)가 있습니다. OutOfMemory 예외가 발생하기 때문에 갤러리에 모두로드 할 수 없습니다.
그래서 20 개의 Drawables 배열을 만들고 처음 9 개의 요소 (이미지는 웹에서 가져온 것임)를 채우고 나머지는 모두 null로 설정합니다. 제 의도는 이것이었습니다 : 오른쪽 던지기에서 요소 번호 가져 오기. 10이고 null 요소 번호로 설정됩니다. 0. 오른쪽 fetch element no에 다른 fling에서 no. 11로 설정하고 null 요소 번호로 설정합니다. 1에서 null로. 남은 플링에서 같은 논리.
문제는 내가 요소를 가져 오는 것보다 훨씬 빨리 뛰어 올릴 수 있다는 것입니다.)
public View getView(int position, View convertView, ViewGroup parent){ ImageView imageView = new ImageView(); imageView.setDrawable(imageArray[position]; .... .... return imageView; }
가 어떻게의 getView를 (말할까요 - imageArray [위치] 여전히 null의 경우, "로드 ..."대화와를 보여 내 갤러리 BaseAdapter을 가지고 있으며, 그의 getView()이 같이 보입니다 같은 위치에 반복되면 스스로 설정 되니?
imageView가 비어있는 것을보고 싶지 않고 비공개로 설정하고 싶습니다. 나는 그것이 설정 될 때까지 imageView를 전혀 볼 수 없길 원합니다.
감사합니다.
질문에 대한 답변을 제공하는 Android 블로그 (위의 예제 코드도 있음)에 대한 좋은 게시물이 있습니다. http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html – Ally