Android布局优化之ViewStub(三)

Android布局优化之ViewStub(三)


Android布局优化之Include(一)

Android布局优化之merge(二)

ViewStub 
是一个不可见的,大小为0的View,最佳用途就是实现View的延迟加载,避免资源浪费,在需要的时候才加载View

ViewStub标签最大的优点是当你需要时才会加载,使用他并不会影响UI初始化时的性能。各种不常用的布局想进度条、显示错误消息等可以使用ViewStub标签,以减少内存使用量,加快渲染速度。ViewStub标签使用如下:

<ViewStub
        android:id="@+id/stub_import"
        android:inflatedId="@+id/panel_import"
        android:layout="@layout/progress_overlay"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom" />  

当你想加载布局时,可以使用下面其中一种方法:

1.((ViewStub) findViewById(R.id.stub_import)).setVisibility(View.VISIBLE);
2.View importPanel = ((ViewStub) findViewById(R.id.stub_import)).inflate();  

当调用inflate()函数的时候,ViewStub被引用的资源替代,并且返回引用的view

这样程序可以直接得到引用的view而不用再次调用函数findViewById()来查找了。
ViewStub目前有个缺陷就是还不支持merge标签。


你可能感兴趣的:(布局优化)