ViewStub 与 View.GONE

Posted

技术标签:

【中文标题】ViewStub 与 View.GONE【英文标题】:ViewStub vs. View.GONE 【发布时间】:2011-04-01 02:04:36 【问题描述】:

据我所知,ViewStubGONE 的 View 都没有参与测量和布局传递(或无论如何渲染)。

渲染性能有区别吗?关于何时使用 which 的最佳做法是什么?

【问题讨论】:

【参考方案1】:

当您膨胀视图时,渲染性能就会显现出来。

我的猜测是,膨胀 ViewStub 比膨胀视图便宜得多,无论是从 XML 还是通过改变可见性。当您需要添加/删除(不确定的)视图(例如,将电话号码添加到给定的联系人)时,ViewStub 尤其有用。希望这就是您想要的。

【讨论】:

不是膨胀 ViewStub 相当于膨胀 ViewStub 存根的视图(嘿,酷,说连续 3 次!)? 查看次数过多 - 存根过多! ;)。我不这么认为。我隐约记得读过一些关于它的东西。文档:“在运行时懒惰地膨胀布局资源;ViewStub 存在于视图层次结构中”——我想这意味着膨胀 ViewStub 比膨胀视图便宜得多。 换句话说,只要 ViewStub 还没有被膨胀,它的渲染速度就比一个已经消失的视图要快,对吗?另外,当它实际上必须被通货膨胀时,通货膨胀比“正常”通货膨胀便宜吗?

以上是关于ViewStub 与 View.GONE的主要内容,如果未能解决你的问题,请参考以下文章

使 ViewStub 覆盖 Activity

布局与控件-Toast吐司与布局的抽象标签merge include ViewStub

ViewStub的使用

Android中文API-ViewStub

Android--UI之ViewStub

Android - ViewStub