Android 条件可见性消失/可见时的活动性能

Android 条件可见性消失/可见时的活动性能,android,performance,android-layout,Android,Performance,Android Layout,我有一个片段,其中包含一个线性布局,该布局是否有条件显示。就性能而言,什么是最好的?在XML中将LinearLayout标记为android:visibility=“gone”,然后在代码中设置其可见性(如果需要),或者相反?除非该布局非常复杂且视图太多,否则我不会担心,这不会有多大关系 但是,最初将其设置为已消失似乎更符合逻辑,除非您决定之后它应该是可见的 你也可以从用户体验的角度来考虑它,如果用户看到它非常短暂,然后它就消失了?或者,它是否应该反过来工作?在某些视图的可见性设置为“消失”的情

我有一个片段,其中包含一个
线性布局
,该布局是否有条件显示。就性能而言,什么是最好的?在XML中将
LinearLayout
标记为
android:visibility=“gone”
,然后在代码中设置其可见性(如果需要),或者相反?

除非该布局非常复杂且视图太多,否则我不会担心,这不会有多大关系

但是,最初将其设置为
已消失
似乎更符合逻辑,除非您决定之后它应该是可见的


你也可以从用户体验的角度来考虑它,如果用户看到它非常短暂,然后它就消失了?或者,它是否应该反过来工作?

在某些视图的可见性设置为“消失”的情况下对布局进行膨胀对性能有害,尤其是在视图有点复杂的情况下。


检查url:

我认为这两种实现的性能没有多大关系,除非您在长时间运行的网络调用或类似情况后隐藏版面,这需要一些时间来决定隐藏和显示版面,或者版面太复杂

然而,我建议你记住以下几点

  • 如果活动方向发生更改,则需要在重新创建活动时,在
    onCreate
    onResume
    函数中处理布局可见性。如果您正在隐藏布局,并且没有在全局静态变量中跟踪它,那么决策可能会丢失,并且您的总体布局设计可能会不一致。但是,如果根据在
    onCreate
    函数中做出的决定隐藏
    线性布局
    ,则不会遇到这种情况
  • 如果此
    线性布局
    位于
    回收视图
    列表视图
    的项目内,请仔细处理每个布局项目