哪个是Android上最便宜的观点?

时间:2018-04-19 08:48:26

标签: android performance

出于某种原因,我需要设置虚拟视图。

所以我想知道

哪个是Android上最便宜/最轻的足迹视图

我认为一个简单的<View />将是最简单和最便宜的资源。但也许出于某种原因,它只是<RelativeLayout ><LinearLayout >,甚至还有一些隐藏的类。

我一直在寻找信息,但没有任何结论。 请加上一些真实的文档,因为我已经有了我的观点,但这并不意味着这是最便宜的观点,只是假设。

6 个答案:

答案 0 :(得分:1)

View类是Android中大多数视图的父类(Texture,Surface等等),因此在这种情况下它将是最“光明”的。

答案 1 :(得分:1)

正如@Kling Klang指出的那样,<View />是最简单的视图,还有另一个名为<Space />的视图,但似乎是一个关于视图的包装,只是为了在xml上可读的名称< / p>

似乎没有关于绘制其他视图(如ConstraintLayout,LinearLayout等)的性能改进......

感谢您找到答案,它澄清了这一点,我已经了解了! :D

澄清其他答案: - ConstraintLayout提高了有关CHILDS的性能,而不是视图本身。 - ViewStub是一个空视图,对于延迟膨胀,不存在于视图层次上,因此不适用于背景。

谢谢你

答案 2 :(得分:0)

我会选择View,或者如果我需要ScaleType选项,我会选择ImageViewViewRelativeLayout如果没有任何孩子,则没有明显的性能差异,因为布局是ViewGroup所做的最昂贵的工作

答案 3 :(得分:0)

ViewStub是一个不可见的,零大小的视图,可用于在运行时延迟扩展布局资源。 https://developer.android.com/reference/android/view/ViewStub.html

答案 4 :(得分:-1)

如果你谈论整个Activity背景,你最好在主题样式中使用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>

不要忘记将此主题应用于Activity或清单中的整个应用。

答案 5 :(得分:-1)

ConstraintLayout更快。 这是因为ConstraintLayout允许您构建复杂的布局而无需嵌套View和ViewGroup元素。与LinearLayout和RelativeLayout相比,它不仅具有非常好的性能。 enter image description here

blog非常有效地解释了它。