我创建了一个非常大的布局(大约2000行),其中包含大量的视图和子布局,通常具有加权度量。树非常复杂,可以降至8层或更多层次的嵌套。 要创建不同的“透视图”,应用程序会以编程方式设置一些视图对View.GONE的可见性,特别是那些位于不希望显示的视图树头的视图的不同时刻应用程序生命周期,并有时更改权重以调整视图大小;因此,向用户显示的最终布局每次不超过主布局中的视图和视图树的1/3。具有许多View.GONE视图的大布局的性能
我不关心“切换”时间的性能,所以当用户从一个角度切换到另一个时,我有足够的时间来打开和关闭可见性,这不是问题。
取而代之的是,是否将如此多的视图和视图树设置为View.GONE会影响运行时的性能? GONE视图对CPU和内存性能的影响是什么,与显示所有视图的较小布局(可能以编程方式膨胀)相反?
它会影响性能,特别是低规格的设备。如果您必须按照您的说法创建繁重布局,请使用约束布局。相对布局更灵活。 –
约束布局可以稍微改进,但我认为真正的问题可能是父视图树被设置为GONE:它们如何处理,如死对象,还是仍然“活着”? –
我认为GONE布局仍然会影响。你不能为此做出不同的片段吗? –