博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
优化技术之Android UI优化
阅读量:5909 次
发布时间:2019-06-19

本文共 1066 字,大约阅读时间需要 3 分钟。

2013-06-30

UI 优化

在Android中,最常用LinearLayout表示UI的布局。比起LinearLayout,在资源利用上,RelativeLayout会占用更少的资源而达到相同的效果。针对RelativeLayout有一点需要注意,因为它内部是通过多个View之间的关系而确定的布局,那么当其中某一个View因为某些需要调用GONE来完全隐藏掉后,会影响与其关联的Views,属性alignWithParentIfMissing用于解决类似问题。

简单或复杂的问题都需要时常考虑如何优化资源的分配。当我们面对Android UI优化时,有必要继续考虑资源复用。定义Android布局文件时,有4个比较特别的标签是非常重要:<viewStub/>, <requestFocus/>, <merge/>和<include/>,其中3个与资源复用有关。

1. <viewStub/> 直观效果类似于View的不可见性,但其所包裹的View在默认状态下不会占用任何内存空间。viewStub通过include从外部导入View元素。用法:通过属性android:layout来设定内容。

2. <include/> 用于直接加载xml,是复用UI资源的常用标签。用法:通过属性layout来设定加载的xml。

3. <requestFocus/> 用于设定焦点。用法:将<requestFocus/>放于View标签中。

4. <merge/> 目的:删减多余或额外的层级。

查看当前UI结构:运行android sdk/tools/hierarchyviewer.bat

如果你创建的Layout不是把FrameLayout当作根节点,就不能使用<merge/>来优化。

当使用include或viewStub从外部导入xml结构时,可以将被导入的xml用merge作为根节点,这样当被嵌入后可以很好地融合,不会出现冗余的节点。

<merge/>只可以作为xml-layout的根节点。扩充的xml-layout是merge作为根节点时,需要将被导入的xml-layout置于viewGroup中,同时需要设置attachToRoot为true。

图片优化

在Android中,BitmapFactory的使用。

在开发过程中尽可能降低对高质量图片的使用以提高运行效率。

同一张图片如何在不同大小屏幕合适地显示出来?如果图片不够满屏,就对图片进行放大,相反就进行缩小。

将多张图片集成到一张图片上。减少图片的颜色数。

转载地址:http://mcvpx.baihongyu.com/

你可能感兴趣的文章
从零开始学架构二 架构设计流程
查看>>
判断一棵二叉树是否为二叉搜索树
查看>>
OC 创建单例
查看>>
iOS 线程操作库 PromiseKit
查看>>
省赛第一次选拔赛
查看>>
php中的魔术方法
查看>>
yum命令详解
查看>>
Linux修改时区以及同步时间
查看>>
小谈Java中的静态块与非静态块
查看>>
angularjs单击取值
查看>>
实验一
查看>>
虚拟环境和pip相关的命令
查看>>
接口的委托实现(通过接口)
查看>>
用MyEclipse 2013 Blue 图解5分钟搞定Spring的Bean和DataSource配置
查看>>
数据结构排序算法之堆排序
查看>>
Python之NumPy实践之数组和矢量计算
查看>>
Android多线程研究(9)——线程锁Lock
查看>>
dev_queue_xmit()函数返回值问题
查看>>
成大事者不纠结
查看>>
测试 SyntaxHighlighter
查看>>