foo.setVisibility(View.GONE)和parent.removeView(foo)之间的区别

时间:2012-10-01 12:11:23

标签: android android-layout memory-management android-view

如果foo是一个视图,foo.setVisibility(View.GONE)fooParent.removeView(foo)之间有什么区别?在两个语句之前和之后,我对视图的内存消耗特别感兴趣。

可见性设置为GONE的视图会占用内存吗?

2 个答案:

答案 0 :(得分:8)

如果您需要删除它们然后再次显示它们,最好将可见性设置为已消失,然后再次更改为可见。

另一方面,如果您不再需要它们,请将其删除。

答案 1 :(得分:0)

<强>假设

  

如果您需要删除所有可用的飞行选项   选择一个特定的航班。然后使用fooParent.removeView(foo)。

,或者

  

如果您需要选择特定航班的所有飞行选项   消失了,取消选择飞行选项再次显示所有   可用选项然后使用foo.setVisibility(View.GONE)和   foo.setVisibility(View.VISIBLE)

setVisibility(View.VISIBLE) = setVisibility(0)
setVisibility(View.GONE) = setVisibility(8)
setVisibility(View.INVISIBLE ) = setVisibility(4)