具有许多View.GONE视图的大型布局的性能

时间:2017-04-26 12:08:22

标签: android performance android-layout layout

我创建了一个非常大的布局(约2000行),其中包含大量视图和子布局,通常采用加权度量。树非常复杂,可以达到8级或更高级别的嵌套。 为了创建不同的“透视图”,应用程序以编程方式将一些视图的可见性设置为View.GONE,特别是那些位于我不想显示的视图树头部的视图,在不同的时刻。应用程序生命周期,有时会更改权重以调整视图大小;因此,显示给用户的最终布局每次不包含超过主要布局中视图和视图树的1/3。

我不关心“切换”时的性能,所以当用户从一个角度切换到另一个角度时,我有足够的时间来打开和关闭可见性,这不是问题。 / p>

相反,是否有如此多的视图和视图树设置为View.GONE会影响运行时的性能? GONE视图对CPU和内存性能的影响是什么,与所有视图显示的较小布局(可能是以编程方式膨胀)形成对比?

1 个答案:

答案 0 :(得分:0)

实际上,在创建复杂布局时必须使用约束布局。

ConstraintLayout允许您使用平面视图层次结构创建大型复杂布局(无嵌套视图组)。它与RelativeLayout类似,因为所有视图都是根据兄弟视图和父布局之间的关系布局的,但它比RelativeLayout更灵活,更易于使用Android Studio的布局编辑器。

请从网址找到该文档:

https://developer.android.com/training/constraint-layout/index.html