ViewStub 是一个不可见的,大小为0的View,最佳用途就是实现View的延迟加载,避免资源浪费,在需要的时候才加载View需要注意的是,加载view之后,viewstub本身就会被新加载进来的view替换掉效果图:(1)res/layout/main.xml实现: ...
分类:
其他好文 时间:
2015-04-10 11:13:23
阅读次数:
102
ViewStub就是一个轻量级的View,它在布局文件中以标签的形式存在,在acitivity加载布局的时候并不会实例化这个View,而是当在代码中调用ViewStub的inflate()方法的时候才会实例化这个View。
定义一个ViewStub
ViewStub是一个轻量级的View,它没有大小,也不会执行任何的绘制。所以inflate它和把它放在view树中是非常划算的。每一个ViewS...
分类:
其他好文 时间:
2015-04-01 17:50:53
阅读次数:
146
在前面几篇文章当中,我们学习了如何通过合理管理内存,以及高性能编码技巧的方式来提升应用程序的性能。然而实际上界面布局也会对应用程序的性能产生比较大的影响,如果布局写得糟糕的话,那么程序加载UI的速度就会非常慢,从而造成不好的用户体验。那么本篇文章我们就来学习一下,如何通过优化布局来提供应用程序的性能。
Android系统中已经提供了非常多好用的控件,这让我们在编写布局的时候可以很轻松。但是有些时候我们可能需要反复利用某个已经写好的布局,如果你总是使用复制粘贴的方式来进行布局重用,这显然是一种很笨的做法。而A...
分类:
移动开发 时间:
2015-03-19 10:18:41
阅读次数:
300
一、
布局优化:
遵循一条规则:布局层次尽量少(RelativeLayout来代替LinearLayout、减少必要的节点、合理的使用标签)
使用Lint分析布局
HierarchyViewer
使用ViewStub延迟加载视图(优化那些不是必须要立即在UI上显示的控件)
参考:
http://rayleeya.iteye.com/bl...
分类:
移动开发 时间:
2015-03-10 12:14:56
阅读次数:
195
开发我们的安卓应用时,根据产品需求,可能需要在运行时根据一定的条件来动态显某View或Layout。我们最常用的方法可能就是:把所有可能用到的View都写在布局文件中,先把不需要的View.setVisibility()参数设为View.GONE(不可见),然后在代码中根据显示的需要动态setVisibility(View.VISIBLE)。这样做好处在于:逻辑简单,控制灵活。缺点也很明显:耗费资...
分类:
移动开发 时间:
2015-03-01 10:36:36
阅读次数:
345
android中,很多地方在提到布局优化都会提到使用ViewStub.可能很多人都只是用她,而没有去看看ViewStub到底是个什么东西,器特殊的功能是如何实现的!这里,我来解析一下我们的ViewStub.
实际上,其实ViewStub就是一个view的子类....
分类:
移动开发 时间:
2015-02-02 18:09:02
阅读次数:
193
New UI-关于布局优化集锦
——转载请注明出处:coder-pig,欢迎转载,请勿用于商业用途!
本节引言:
前面已经介绍了三个与布局优化有关的三个标签:include,ViewStub,merge;
相信大家对布局优化有了一些认识,在这一章节的最后一节里,我们就来唠叨唠叨
关于布局优化的一些建议!大家在实际开发中可以参考下,从而制作出更高效,
复用性更高的布局UI,好了废话就到这里,开始本节的内容吧!...
分类:
其他好文 时间:
2015-02-01 13:35:07
阅读次数:
242
很多情况下,我们的视图可能会随着用户的操作的不同而变化,比如一个新的页面包含多个控件,但仅仅在用户点击这个按钮后,所有的控件才能完全显示。也就是说一上来可能就显示一个控件,点击按钮后把其他隐藏的控件再显示出来。一般情况下我们通过改变View的visible属性来设置view的可见性,但它不算是延.....
分类:
其他好文 时间:
2015-01-30 22:23:18
阅读次数:
222
New UI-标签减少视图层级,让布局更高效
——转载请注明出处:coder-pig,欢迎转载,请勿用于商业用途!
本节引言:
前面我们已经学了布局优化的两个小技巧:
①使用include简化布局,解决布局复用的;②ViewStub延时加载,加快页面加载速度
那么今天再给大家介绍一个标签,"merge"直译"合并,混合",难道是合并布局?
呵呵,没错,你猜对了,是合并布局,不过有点遗憾的是,他合并的布局只能是:FrameLayout(帧布局)
只能合并一种布局,也没想象中那么种,仅仅减少关于...
分类:
其他好文 时间:
2015-01-30 15:50:52
阅读次数:
233
1.使用已经有的VIEW,而不是每次都去新生成一个2.创建自定义类来进行组件和数据的缓存,在下一次调用的时候直接从FLAG中取出3.分页,预加载使用VIEWSTUB进行调用时加载VIEWSTUB构成INFLATEDID 自身IDLAYOUT 要加载的LAYOUT在要显示预加载内容的时候,直接取得VI...
分类:
其他好文 时间:
2015-01-29 01:19:24
阅读次数:
211