Android上最便宜的视图是什么?
出于某种原因,我需要设置一个虚拟视图/空视图 所以我想知道 android上哪一个是最便宜/轻量级的footprint视图 我认为一个简单的Android上最便宜的视图是什么?,android,performance,Android,Performance,出于某种原因,我需要设置一个虚拟视图/空视图 所以我想知道 android上哪一个是最便宜/轻量级的footprint视图 我认为一个简单的将是最简单和最便宜的资源。但可能出于某种原因,它是一个或,甚至有一些隐藏的类 我一直在寻找信息,但没有结论。 请在上面添加一些真实的文档,因为我已经有了我的观点,但这并不意味着这是最便宜的观点,只是一个假设。我会选择视图,但是视图或相对视图如果没有任何子视图,则它们之间没有明显的性能差异,因为布局是最昂贵的工作视图组视图类是Android中大多数视图的父类(
将是最简单和最便宜的资源。但可能出于某种原因,它是一个
或
,甚至有一些隐藏的类
我一直在寻找信息,但没有结论。
请在上面添加一些真实的文档,因为我已经有了我的观点,但这并不意味着这是最便宜的观点,只是一个假设。我会选择
视图
,但是视图
或相对视图
如果没有任何子视图,则它们之间没有明显的性能差异,因为布局是最昂贵的工作视图组视图类是Android中大多数视图的父类(纹理、表面和许多其他)因此,在这种情况下,它将是最“光照”的。如果您谈论整个活动
背景,您最好在主题样式中使用android:windowBackground
属性
大概是这样的:
<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowBackground">@color/yourWindowBackgroundColor</item>
</style>
@颜色/原色
@颜色/原色暗
@颜色/颜色重音
@颜色/背景颜色
不要忘记将此主题应用于活动
或清单中的整个应用。ConstraintLayout更快。
这是因为ConstraintLayout允许您构建复杂的布局,而无需嵌套视图和视图组元素。不仅如此,与LinearLayout和RelativeLayout相比,它还提供了非常好的性能
这非常有效地解释了这一点。视图存根是一个不可见的、大小为零的视图,可用于在运行时惰性地膨胀布局资源。正如@Kling Klang所指出的,
是最简单的视图,还有另一个名为
的视图,但它似乎是一个视图的总括,只是为了xml上一个可读的名称
在绘制其他视图(如ConstraintLayout、LinearLayout等)时,性能似乎没有提高
谢谢你找到了答案,它澄清了这一点,我已经了解了!:D
要澄清其他答案:
-ConstraintLayout提高了关于孩子的性能,而不是视图本身。
-ViewStub是一个空视图,对于后期充气,视图层次结构上不存在,因此不适用于背景
谢谢你视图存根是一个不可见的零-sized@KlingKlang这似乎澄清了这一点,我以前没有找到答案,thx!不,我在问一个具体的问题,关于性能,没有关于背景的解决方案,确实对我不起作用,出于某种原因,不适用于讨论,因为这个问题是另一个问题。windowBackground是最好的如果谈论性能,可以将背景设置为整个活动。因为它将为活动根容器设置,而无需创建/扩展任何其他视图。感谢您的回答,但这是传统布局的基准(LinearLayout、RelativeLayout…)VS ConstraintLayout,而不是View VS View,所以,这并不能回答问题。无论如何,谢谢:)@Sulfkain你读过博客(链接)了吗,它正确地回答了你的问题。是的,我读过,并谈论了传统布局与ConstraintLayout的关系。从这个条目中可以看出:我们的性能比较表明ConstraintLayout在度量/布局阶段的性能比RelativeLayout高出约40%:我问的是轻量级视图,而不是更好的视图组