【Android Training - 02】Improving Layout Performance[Lesson 3-按需载入视图(ViewStub的使用方法)]

标签: android training improving | 发表时间:2012-03-21 18:47 | 作者:kesenhoo
出处:http://blog.csdn.net

Loading Views On Demand [按需载入视图]

某些时候,我们需要一些很复杂的视图却仅仅很少用到。如果我们在它仅仅需要的时候再载入,这样可以减少内存的使用并且给用户带来流畅的体验。

Define a ViewStub [定义ViewStub]

ViewStub是一个轻量级的view,没有占有空间,没有花费draw的资源,也没有参与在任何一个layout里面。
不仅创建它仅需要很少的系统资源,而且存留在View的层级也是个比较不花费资源的动作。
每一个ViewStub简单的包含一个android:layout的属性来指定待创建的布局文件。

下面是一个包含Progress bar的ViewStub例子,这对于overlay来说是透明的,progress bar仅仅会在需要导入的时候才会可见。
<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" />

Load the ViewStub Layout [载入ViewStub的布局]

当你想要载入在ViewStub中定义的布局的时候,可以calling  setVisibility(View.VISIBLE) or call  inflate().

((ViewStub) findViewById(R.id.stub_import)).setVisibility(View.VISIBLE);

// or
View importPanel = ((ViewStub) findViewById(R.id.stub_import)).inflate();
一旦被设置可见或者被创建,这个ViewStub组件则从View层级中消失,它被创建出来的布局所替代,而且这个布局的ID就是ViewStub里面用android:inflatedId属性所定义的。
(用来定义这个ViewStub的ID的属性andoid:id直到被可见才是有效的)。

Note:ViewStub的一个缺陷是目前并不支持创建包含有<merge>标签的布局文件。




作者:kesenhoo 发表于2012-3-21 18:47:13 原文链接
阅读:0 评论:0 查看评论

相关 [android training improving] 推荐:

【Android Training - 02】Improving Layout Performance[Lesson 3-按需载入视图(ViewStub的使用方法)]

- - CSDN博客推荐文章
Loading Views On Demand [按需载入视图]. 某些时候,我们需要一些很复杂的视图却仅仅很少用到. 如果我们在它仅仅需要的时候再载入,这样可以减少内存的使用并且给用户带来流畅的体验. Define a ViewStub [定义ViewStub]. ViewStub是一个轻量级的view,没有占有空间,没有花费draw的资源,也没有参与在任何一个layout里面.

想写出更好的应用?Google“Android Training”可助你一臂之力

- - 36氪
Google的Android团队也许可以帮到你. Android Training”的beta版行动计划,其主旨就是为了教开发人员如何写出更好的应用来. 这项新计划完全是免费的,覆盖了几个专题,从. 每一类介绍的深度都相当的可观,很有料,非常值得开发者深入挖掘一番. 要想提升自己应用水平的开发者可要仔细地读读里面的文章、教程和代码例子.

(二)Android性能优化系列---Improving Layout Performance(一)(转载自:http://xhmj12.iteye.com/blog/2064258) - 小菜美妞成长中

- - 博客园_首页
Android性能优化系列---Improving Layout Performance(一).         Layouts是Android应用里直接影响用户体验的一个关键部分. 如果Layout设计的不好,可能导致你的应用大量的内存占用从而导致UI响应很慢. Android SDK提供了工具帮助你分析你的Layouts的性能问题.

C#初级程序员培训计划Junior Developer training plan

- Jacob - 我的宝贝孙秀楠 ﹣C++, Lua, 大连,程序员
2)如何进行团队合作,计划以及任务分解训练. 3)一些有用的工作习惯养成锻炼,个人时间管理. 4)演讲技能、英语技能、领导力提升. 5)自学能力、解决问题能力的培养. 力争四个月时间将新人从C#新新手变成比较靠谱的C#程序员. 培训以个人阅读、实做为主,每天进行检查反馈,. 每周有个可运行成果以及学习目标,每个月有个具有实用性完整的项目结果.

【Nike出品】耐克健身教练中文版(674兆)Nike Training Club (Chinese)

- Newton - 爱Apps - www.iapps.im
精选限时免费应用,由 AppPusher 为您送达. 无限精彩,尽在 iapps.im. 大小: 674 MB 系统: 4.0+. 1月份给大家介绍过本作的英文版(点击查看),当时中国区甚至没有上架,就在大家叹息的时候,Nike居然在中国区上架了本作的中文版. Nike太给力了,当iOS平台上众多健身教学应用都在收费的时候,Nike很大气的奉上了一款完全免费的健身教学软件.

Android 遥控车

- CasparZ - LinuxTOY
您确定您真的会用 Android 手机玩赛车. 16 岁的法国学生 Jonathan Rico 使用 Android 手机通过蓝牙实现了对改装玩具汽车的遥控. 操控的方式和那些标榜的智能手机游戏一样,使用重力感应,差别是这次控制的是现实世界中的遥控汽车. 收藏到 del.icio.us |.

Android免费?毛

- Ruby - FeedzShare
来自: 36氪 - FeedzShare  . 发布时间:2011年08月17日,  已有 2 人推荐. 微软CEO Steve Ballmer在预测竞争对手产品时通常口无遮拦. 比如他去年抨击Google的Android战略时,很多人都不屑一顾. 接着Android蚕食了微软的地盘,后来又开始侵犯苹果的地盘.

GetEd2k (Android应用)

- 某牢 - eMule Fans 电骡爱好者
GetEd2k是一个Android应用程序,作者是anacletus. 此应用可以帮助你把网页中的电驴(eDonkey) 链接添加到你个人电脑的电驴客户端里,不过前提是你的客户端开启了用于远程控制的Web interface(Web服务器,网页接口,Web界面),当然,eMule(电骡), MLDonkey 和 aMule 都支持该功能,所以这三种主流电驴客户端的用户都可以使用GetEd2k.

Android 4.0发布

- coofucoo - Solidot
Shawn the R0ck 写道 "2011年10月19日早上10点,谷歌与三星联手在香港发布了Android 4.0和Galaxy Nexus. " Android 4.0 的主要特性包括:更精细的UI,加强多任务和通知功能,锁屏下可打开摄像头和浏览通知,改进文本输入和拼写检查;增强视频录制和图像编辑功能,支持剪裁和旋转图片、消除红眼、添加效果等;面部识别解锁;Android Beam允许两台支持NFC的设备之间交换应用程序、联系人、音乐和视频;Wi-Fi Direct,蓝牙HDP,等等.