Android convertView, использовать его или нет?
В статьеМногопоточность для производительности из блога разработчиков Android,convertView
используется вAdapter.getItem()
отобразить списокImageView
, которые загружаются через HttpRequest. Тем не менее, я также вижу некоторые учебники по Android, которые не используютconvertView
и просто раздувать новый взгляд вAdapter.getItem()
.
Мне интересно, в чем преимущество использованияconvertView
? Как перерабатывает используемый вид? Где хранится используемый вид?
Я задаю этот вопрос, потому что я не использовалconvertView
в моем проекте, и я хочу знать стоимость неиспользования. Ниже моя реализация listView изображений.
Вместо того, чтобы использоватьconvertView
Раздуваю новый взгляд вAdapter.getItem()
, Кроме того, я создаю класс-обертку для хранения персонала в каждом элементеlistView
, Как только изображение будет загружено, оно будет сохранено как растровое изображение в классе оболочки для каждого элемента списка (изображение маленькое). Таким образом, я могу избежать дублирования загрузки одного и того же изображения. И это также позволяет избежать проблем состояния гонки, о которых говорилось вМногопоточность для производительности, Но я все еще немного волнуюсь, есть ли проблемы, которые не хорошо, используя мой метод?
К сведению: статья, рекомендованная @Carl Anderson, содержит подробности о том, как convertView работает в адаптере. Google IO от Romain Guy, который предлагается в этой статье, является еще одним хорошим справочным материалом.
Одним словом, использование convertView оптимизирует пространство и время. Кроме того, я забросил свой собственный imageDownloader и использую Picasso, рекомендованный @CommonsWare. Отлично работает.