Как оптимизировать производительность при создании множества похожих макетов?

#android

#Android

Вопрос:

У меня есть Viewpager, содержащий 8 фрагментов. Эти фрагменты содержат по 30 пользовательских Linearlayout каждый, сами по себе содержащие 5 горизонтальных LinearLayouts, сами по себе содержащие один textview и 4 ImageView.

В общей сложности 1200 линейных макетов, 4800 ImageView и 960 Textviews. Я создал монстра (и он едва жив). Я ищу способ оптимизировать этот беспорядок.

В частности, мой пользовательский LinearLayout содержит 5 идентичных LinearLayout, содержащих одни и те же 4 иконки, повторяющиеся бесчисленное количество раз.

Если я не ошибаюсь, каждый раз, когда я создаю экземпляр нового пользовательского фрагмента, Android выполняет вычисления (сопоставляет родительский элемент, переносит содержимое, вычисляет вес, извлекает фоновые ресурсы, извлекает значки и т.д.).

Есть ли способ оптимизировать это, создав экземпляр пользовательского макета один раз, а затем попросив Android просто дублировать его перед изменением некоторых параметров?

Комментарии:

1. вы хотите добавить одинаковый макет для всех ваших действий?? или для 1 или более действий

2. Поскольку существует «5 идентичных линейных описаний», может быть, вы могли бы заменить CustomLinearLayout на RecyclerView в качестве первого шага?

3. Это одна activivity, многократно использующая один и тот же макет. RecyclerView кажется хорошим предложением, я его реализую и посмотрю, как оно ведет себя с точки зрения производительности. Спасибо!