出于某种原因,我需要设置虚拟视图。
所以我想知道
哪个是Android上最便宜/最轻的足迹视图?
我认为一个简单的<View />
将是最简单和最便宜的资源。但也许出于某种原因,它只是<RelativeLayout >
或<LinearLayout >
,甚至还有一些隐藏的类。
我一直在寻找信息,但没有任何结论。 请加上一些真实的文档,因为我已经有了我的观点,但这并不意味着这是最便宜的观点,只是假设。
答案 0 :(得分:1)
View类是Android中大多数视图的父类(Texture,Surface等等),因此在这种情况下它将是最“光明”的。
答案 1 :(得分:1)
正如@Kling Klang指出的那样,<View />
是最简单的视图,还有另一个名为<Space />
的视图,但似乎是一个关于视图的包装,只是为了在xml上可读的名称< / p>
似乎没有关于绘制其他视图(如ConstraintLayout,LinearLayout等)的性能改进......
感谢您找到答案,它澄清了这一点,我已经了解了! :D
澄清其他答案: - ConstraintLayout提高了有关CHILDS的性能,而不是视图本身。 - ViewStub是一个空视图,对于延迟膨胀,不存在于视图层次上,因此不适用于背景。
谢谢你
答案 2 :(得分:0)
我会选择View
,或者如果我需要ScaleType
选项,我会选择ImageView
。 View
或RelativeLayout
如果没有任何孩子,则没有明显的性能差异,因为布局是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相比,它不仅具有非常好的性能。
这blog非常有效地解释了它。