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

时间:2018-05-14 09:39:10

标签: android performance android-layout

我有一个包含条件显示的LinearLayout的片段。在性能方面什么是最好的?在XML中将LinearLayout标记为android:visibility="gone",然后在代码中根据需要设置其可见性,或者相反?

3 个答案:

答案 0 :(得分:2)

使用可见性设置为GONE的某些视图对布局进行充气对于演出来说是不利的,尤其是在视图有点复杂的情况下。

检查网址:http://magicmicky.github.io/android_development/benchmark-using-traceview/

答案 1 :(得分:0)

除非布局非常复杂并且观看次数太多,否则我不会担心它,这无关紧要。

但最初将其设置为gone似乎更合乎逻辑,除非您之后确定它应为visible

你也可以从用户体验的角度考虑它,如果用户非常简短地看到它然后消失了吗?或者它应该相反吗?

答案 2 :(得分:0)

我认为这两个实现中的性能没什么用,除非你在长时间运行的网络调用之后隐藏布局或类似的东西,这需要一些时间来决定隐藏和显示布局或布局是太复杂了。

但是,我建议您记住以下事项。

  1. 如果您的活动方向发生变化,您需要在重新创建活动时处理onCreateonResume功能中的布局可见性。如果您隐藏布局并且没有在全局静态变量中跟踪它,则决策可能会丢失,并且您的整体布局设计可能会出现不一致。但是,如果您根据LinearLayout函数中的决定隐藏onCreate,则不会遇到这种情况。
  2. 如果此LinearLayout位于RecyclerViewListView的项目中,请考虑仔细处理每个布局项目。