(转)ViewStub的应用

(转)ViewStub的应用的相关文章

ViewStub的使用

ViewStub是一个不可见的.大小为0的控件,运行时ViewStub可以滞后加载.当ViewStub置为可见或者调用inflate()的时候,布局就会加载出来.用加载进来的布局取代ViewStub在父布局中的位置.因此,ViewStub只有在调用了setVisibility()或者inflate()之后,才会在层级中显示出来.将ViewStub布局参数设置给ViewStub指定加载的布局.同理,你可以用ViewStub的inflatedId定义或者覆盖ViewStub指定加载的布局id,例如:

学习使用ViewStub

这是官方介绍: A ViewStub is an invisible, zero-sized View that can be used to lazily inflate layout resources at runtime. When a ViewStub is made visible, or when inflate() is invoked, the layout resource is inflated. The ViewStub then replaces itself in i

Android性能优化之一:ViewStub

ViewStub是Android布局优化中一个很不错的标签/控件,直接继承自View.虽然Android开发人员基本上都听说过,但是真正用的可能不多. ViewStub可以理解成一个非常轻量级的View,与其他的控件一样,有着自己的属性及特定的方法.当ViewStub使用在布局文件中时,当程序inflate布局文件时,ViewStub本身也会被解析,且占据内存控件,但是与其他控件相比,主要区别体现在以下几点: 1.当布局文件inflate时,ViewStub控件虽然也占据内存,但是相相比于其他控

android 布局之include、merge 、ViewStub

在布局优化中,Androi的官方提到了这三种布局<include />.<merge />.<ViewStub />,并介绍了这三种布局各有的优势,下面也是简单说一下他们的优势,以及怎么使用,简单复习下. 1.布局重用<include /> <include />标签能够重用布局文件,简单的使用如下: <span style="font-size:12px;"><LinearLayout xmlns:andr

Android 性能优化 三 布局优化ViewStub标签的使用

小黑与小白的故事,通过虚拟这两个人物进行一问一答的形式来共同学习ViewStub的使用 小白:Hi,小黑,ViewStub是什么?听说可以用来进行布局优化. 小黑:ViewStub 是一个隐藏的,不占用内存空间的视图对象,它可以在运行时延迟加载布局资源文件.(更多详细的API等信息可以查看官方文档ViewStub),计算机行业一向是实践里面出真知,下面用一个例子演示下效果. 小黑:说说概念只是为了概括性的了解下,还是用个实例来演示下.先来创建一个Activity中使用的布局文件,文件名是:act

使ViewStub 来提高UI的加载的性能

首先看下API中的ViewStub 根据的文档的说明,ViewStub是一种默认不可见的试图,它没有大小,所以不能被改变,也不能通过某些把viewstub添加到布局当中来, 不过我们可以使用inflate()来吧ViewStub中的试图增加进行,这样可以实现动态的添加试图,不必要每次在onCreate()的时候就加载布局,可以提高我们的性能. Demo中的使用方法: 1:新建布局文件 设置<ViewStub>节点 2: 在Activity中进行按钮点击  viewStub = (ViewStu

Android 使用ViewStub优化布局

在Android开发的工作学习中,我们往往会遇到一个比较复杂的页面,如一件商品的详情页,如天猫商城,一件商品的价格,图文介绍,秒杀活动,商品用户评价等,而且这些数据往往不是一个接口下发的,我们常规的处理是: 先将所有的view设为Gone,当后台接口调用成功后,在callback里面设置view的属性,并设为Visiable. 所有的接口异步并行调用. 这样的处理,也没有什么大问题,不过我们还可以做的更好,即使用ViewStub. 通俗的说,ViewStub是一个轻量级的view,可以使用它代替

轻量级的惰性控件——ViewStub

在开发过程中,有时候,需要这样一种控件,正常情况下不可见,不占用任何布局空间,只在某种特定情况下显示,这种情况下,我们使用一个普通的View,利用设置setVisibility(View.GONE)自然也可以实现,但是这样的话即使我们不需要显示View,Android也会将这个View渲染出来,只不过不显示而已.如果我们不仅仅需要一个控件,而是一个layout呢?那么是不是Android将做更多的无用功呢?而ViewStub很好的避免了这个问题,默认情况下ViewStub是不显示的,不占用父控件

我的Android进阶之旅------&gt;Android中的布局优化 include、merge 、ViewStub

1.如何重用布局文件? 可以使用<include>标签引用其他的布局文件,并用android:id属性覆盖被引用布局文件中顶层节点的android:id属性值.代码如下: <!--引用mylayout.xml--> <include android:id="@+id/layout1" layout="@layout/mylayout"/> 2.减少视图层级<merge /> 无论布局文件的根节点是什么,系统都会在上一层

ViewStub

在书上了解了ViewStub,但只是带过两笔,没能了解.在网上搜索了一些资料,虽然很多文章都讲得比较完善,但是觉得可能是表达的原因,导致某个点上我理解错误,慢慢的才算比较清楚的认识ViewStub. 首先ViewStub的特点,是属于性能优化的控件.ViewStub占用内存少,真真实实的存在于布局文件中,但是ViewStub所占用的内存很少很少.并且ViewStub可以存放一个布局“xml”,当你在必要的时候可以将布局填充到屏幕中. <RelativeLayout xmlns:android=&qu