GridView превышает бюджет памяти - PullRequest
0 голосов
/ 16 августа 2011

Я следую этому примеру для создания галереи изображений. Во избежание сбоя памяти при загрузке большого количества изображений я изменил размеры изображения до размера ячейки с помощью BitmapFactory.

Но проблема все еще существует при попытке загрузить изображения большего размера или при использовании телефона с меньшим размером кучи. Поэтому я пытаюсь определить, когда изображение видно, а когда оно больше не видно, чтобы перезагрузить / освободить растровое изображение.

Я обнаруживаю, когда клетка становится видимой с

public View getView(int position, View convertView, ViewGroup parent) {

}

Но я не знаю, как определить, когда представление выходит из прокрутки. Вы можете мне помочь?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 16 августа 2011

я думаю, что здесь вы можете использовать концепцию "lazy list", его jst загрузить изображение один раз и сохранить в кеше и не перезагружать снова и снова, так что просто в Google его примере было дано ключевое слово для поиска "lazy list"

1 голос
/ 16 августа 2011

Вообще говоря, при показе больших изображений в виде сетки вы хотите иметь готовые миниатюры, которые вы отображаете вместо них. Для отображения нескольких больших изображений требуется много памяти, а затем необходимо сжать их до 5% от их исходного размера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...