Android: ленивая загрузка в галерее
Я просмотрел несколько постов о отложенной загрузке, но считаю, что моя проблема немного другая.
У меня есть галерея (мой класс расширяет Галерея), которая отображает 20 довольно больших по размеру изображений (400-500K каждое). Я не могу загрузить их все в галерею, так как я получаю исключение OutOfMemory.
Итак, я создал массив из 20 Drawables и первоначально заполнил первые 9 элементов (изображения приходят из Интернета) и установил все остальные на ноль. Мое намерение состояло в следующем: при переходе вправо, получить элемент №. 10 и установить в нулевой элемент №. 0. На другой бросок к правой выборке элемента нет. 11 и установить в нулевой элемент №. От 1 до нуля. Та же логика на левом фланге.
Проблема в том, что я могу летать намного быстрее, чем элементы. В моей галерее есть BaseAdapter, и его getView () выглядит примерно так:
public View getView(int position, View convertView, ViewGroup parent){ ImageView imageView = new ImageView(); imageView.setDrawable(imageArray[position]; .... .... return imageView; }
Как мне сказать getView () - если imageArray [position] по-прежнему нулевое, показать диалог «loading ...» и после его установки повторить себя с той же позицией?
Я не хочу видеть imageView пустым, а затем установить на лету. Я хочу вообще не видеть imageView, пока он не установлен.
Благодарю.