ViewStub是一个不可见的,大小为0的View,最佳用途就是实现View的延迟加载,在需要的时候再加载View,可Java中常见的性能优化方法延迟加载一样。 当调用ViewStub的setVisibility函数设置为可见或则调用inflate初始化该View的时候,ViewStub引用的资源开始初始 化,然后引用的资源替代ViewStub自己的位置填充在ViewStub的位置。因此在没有调用setVisibility(int)或则 inflate()函数之前ViewStub一种存在组件树层级结构中,但是由于ViewStub非常轻量级,这对性能影响非常小。 可以通过ViewStub的inflatedId属性来重新定义引用的layout id。 例如:
xml
<a></a>
java
我这里间隔了一段时间去调用了<code>stub.inflate();</code>方法,加载布局,我们这里就不用再去findViewById去加载view了
效果

本文转自 一点点征服 博客园博客,原文链接:http://www.cnblogs.com/ldq2016/p/5226583.html,如需转载请自行联系原作者