Android平台资源占用最低的空视图(Dummy View)是哪一种?
结论直接给你:View就是Android平台上资源占用最低、最轻量化的空视图选择,完全符合你的需求,下面给你拆解原因和官方依据:
View的极简特性:View是所有Android视图的基类,它本身没有任何子视图管理逻辑,也没有额外的布局规则处理。它的onMeasure、onLayout方法都是最基础的实现,仅处理自身的尺寸计算,没有多余的性能开销。哪怕你只是声明一个空的<View />,它在内存占用、测量布局耗时上都是最低的。对比ViewGroup子类的劣势:像
RelativeLayout、LinearLayout这类ViewGroup,哪怕你没有给它们添加任何子视图,它们依然会执行ViewGroup特有的逻辑——比如维护子视图列表(哪怕是空的)、处理布局参数的解析、执行布局规则的计算(比如LinearLayout的方向、weight逻辑,RelativeLayout的依赖关系判断)。这些额外的逻辑都会带来不必要的资源消耗,完全没必要用它们来做空视图。
官方文档依据
Android官方在视图性能优化的指南中明确提到过:
为了最小化视图层级的性能开销,应尽量使用最简单的视图组件来满足需求。当仅需要一个占位或空视图时,优先选择
View而非ViewGroup子类,因为ViewGroup即使没有子视图,也会产生额外的布局和状态管理开销。
另外补充一点:如果你的空视图需要设置背景、固定大小等属性,View完全可以胜任,直接通过android:layout_width、android:layout_height、android:background等属性配置即可,不需要借助任何布局容器。
内容的提问来源于stack exchange,提问作者Sulfkain

