findViewById против шаблона держателя в адаптере ListView
Я всегда используюLayoutInflater
а такжеfindViewById
для создания нового элемента вgetView
метод.Adapter
Но во многих статьях люди пишут, чтоfindViewById
очень очень медленно и настоятельно рекомендуем использовать шаблон View Holder Pattern.
Может кто-нибудь объяснить, почемуfindViewById
так медленно? И почему шаблон View Holder быстрее?
И что мне делать, если нужно добавить разные элементы вListView
? Должен ли я создавать классы для каждого типа?
static class ViewHolderItem1 {
TextView textViewItem;
}
static class ViewHolderItem2 {
Button btnViewItem;
}
static class ViewHolderItem3 {
Button btnViewItem;
ImageView imgViewItem;
}