Android: вложенность FrameLayouts – какова высокая накладная производительность?

Чтобы внедрить чистую архитектуру с отдельными и многократно используемыми компонентами пользовательского интерфейса, мне нужно иметь иерархии вложенных FrameLayouts (до 3-4 вложенных FrameLayouts ), все из которых имеют как layout_width и layout_height установленные в match_parent (общая идея этой архитектуры Описан в этом ответе ).

Я пришел к удивлению, есть ли заметные служебные издержки, связанные с этой практикой вложения FrameLayouts . Чтобы сделать вопрос менее абстрактным, давайте обсудим его в контексте двух конкретных иерархий: «статическая» иерархия (ничего не движется по экрану) и «прокручиваемая» иерархия (пользователь может прокручивать экран).

«Статическая» иерархия:

Введите описание изображения здесь

Как только отображается экран, содержащий эту иерархию, ничего больше не меняется.

«Прокручиваемая» иерархия:

Введите описание изображения здесь

После того, как эта иерархия отображается на экране, пользователь может прокрутить внутренний ListView , что требует перерисовки самых внутренних RelativeLayouts .

Я вообще не беспокоюсь о «статической» иерархии – накладные расходы вложенных FrameLayouts в этом случае выплачиваются один раз и не будут влиять на производительность макета каким-либо заметным образом.

  • Q1: Правильно ли это допущение, или есть некоторые сценарии снижения производительности, с которыми я могу столкнуться?

Как насчет «прокручиваемого» макета? Интересно, влияет ли тот факт, что внутренний ListView упакован в несколько FrameLayouts влияет на его производительность прокрутки …

  • Q2: Внешние FrameLayouts влияют на вложенную производительность прокрутки ListView ?
  • Q3: Если ответ на Q2 «да», каковы же накладные расходы в «прокручиваемом» случае?