Вам необходимо использовать ViewHolder
подход.
, потому что поиск View по id также требует времени для выполнения.
При использовании подхода ViewHolder
вы сможете минимизировать нагрузкусозданный во время поиска View по id путем кэширования представлений:)
Здесь хороший учебник, как это сделать.
Редактировать:
Подход ViewHolder:
Допустим, у вас есть 4 видимых элемента в вашем ListView
одновременно.Вы должны раздувать View
4 раза и findViewById()
4 раза, только если вы прокрутите до 1000-го элемента в ListView
.
Но если вы не используете ViewHolder
, и вы положили
if (v == null) {
LayoutInflater vi = ...;
}else{
//... other implementation
}
Вы должны раздувать только View
4 раза, но findViewById()
будет называться каждый раз при вызове getView()
(обычно при прокрутке ListView
).
Счастливого кодирования!