Android:嵌套FrameLayouts - 具体的性能开销是多少?

Vas*_*liy 5 performance android listview android-framelayout

为了实现具有独立且可重用的UI组件的干净架构,我需要具有嵌套的层次结构FrameLayouts(最多3-4个嵌套FrameLayouts),所有这些都具有layout_widthlayout_height设置为match_parent(在该答案中描述了体系结构背后的一般概念)).

我开始怀疑这种嵌套方法是否存在明显的性能开销FrameLayouts.为了使问题不那么抽象,让我们在两个具体层次结构的上下文中讨论它:"静态"层次结构(屏幕上没有任何移动)和"可滚动"层次结构(用户可以滚动屏幕).

"静态"层次结构:

在此输入图像描述

一旦显示包含此层次结构的屏幕,则不再发生任何变化.

"可滚动"层次结构:

在此输入图像描述

在屏幕上显示此层次结构后,用户可以滚动内部ListView,因此需要重新绘制最内层RelativeLayouts.

我并不担心"静态"层次结构 - FrameLayouts在这种情况下嵌套的开销是一次性的,并且不会以任何明显的方式影响布局的性能.

  • 问题1:这个假设是正确的,还是有一些性能下降的情况我可以碰到?

那么"可滚动"布局呢?我想知道内部ListView是否被包裹的事实是否FrameLayouts会影响其滚动性能......

  • Q2:外部FrameLayouts影响嵌套ListView滚动性能吗?
  • 问题3:如果对Q2的回答为"是",那么"可滚动"案例的确切开销是多少?