Listview'ы разметка - производительность android

343
26 ноября 2016, 19:18

Имеется 10 listview.Для каждого есть свой кастомный адаптер.В адаптерах переопределен метод getView.Сейчас имеется одна разметка на всех.В этой разметке есть все необходимые виджеты для listview скрытые на разметке.В каждом адаптере использую visiblity GONE или VISIBLE.Скажите что будет лучше по производительность одна разметка на все listview или для каждого своя?Просто слышал что xml разметка тратит много ресурсов, поэтому и сделал один на всех,но что то сомневаюсь что правильно я делаю.

Answer 1

Правильнее делать для каждого адаптера свою разметку.

..xml разметка тратит много ресурсов...

Это значит что плохо построенная xml долго отрисовывается. Поэтому для каждого адаптера лучше делать xml с минимальным количеством view, а не пихать все в одну xml. Хотя view у которых visibility=gone не отрисовываются. Но вы будете тогда тратить время в адаптаре для того чтобы выполнить setVisibility(VISIBLE) каждой view которую нужно отобразить. В общем делайте разные xml для разных адаптеров

Answer 2

Действительно работа с xml довольно ресурсозатратная операция. Поэтому лучше использовать разные разметки и желательно с применением паттерна ViewHolder, который способствует увеличению производительности. Если проект только создается, то можно рассмотреть использование RecyclerView в качестве альтернативы ListView. При этом использование паттерна ViewHolder становится уже обязательным.

READ ALSO
onActivityResult не запускается

onActivityResult не запускается

Проблема заключается в том, что мне необходимо вызвать метод onActivityResult для MainActivityВ этой активности, я перехожу сначала в активность "Поиск",...

279
знак меню не изменяется

знак меню не изменяется

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

284