文档章节

Android实用笔记——Android布局优化

Kerwin_zZ
 Kerwin_zZ
发布于 2016/08/02 21:48
字数 457
阅读 28
收藏 2

1、五种布局方式的使用频率(由高到低)

    RelativeLayout(相对布局)   

    LinearLayout(线性布局)

    FrameLayout(帧布局)

    TableLayout(表格布局)

    AbsoluteLayout(绝对布局)

    最后两种布局方式是最常用到的,基本上所有的Activity中很难摆脱这两种布局方式。

 

2、Android布局原则

    尽量多使用LinearLayout(线性布局)和RelativeLayout(相对布局),不要使用AbsoluteLayout(绝对布局);

    在布局层次一样的情况下,建议使用LinearLayout(线性布局)代替RelativeLayout(相对布局),因为LinearLayout的性能稍高一些;

    将可复用的组件抽取出来通过include标签使用;

    使用ViewStub标签来加载一些不常用的布局;

    使用merge标签来减少布局的嵌套层次。

 

3、< include /> 的使用

    作用:将共用的组件抽取出来单独放到一个xml文件中,然后使用include标签导入共用布局。

    效果:提高UI的制作和复用效率,也能保证制作的UI布局更加规整和易维护。

    使用:<include layout="@layout/xxxx" />

 

4、使用merge合并UI布局

    作用:合并UI布局,使用该标签能减低UI布局的嵌套层次

    使用场景:布局根节点是FrameLayout且不需要设置background或padding等属性,可以用merge代替;某布局作为自布局被其他布局include时,使用merge当做该布局的顶结点,这样在被引入时顶结点会被自动忽略。

        

5、使用ViewStub进行惰性加载

    作用:ViewStub标签同include标签一样可以用来引入一个外部布局,不同的是,ViewStub引入的布局默认不会扩张,既不会占用显示也不会占用位置,从而在解析Layout时节省CPU和内存。

 

   

 

© 著作权归作者所有

Kerwin_zZ
粉丝 10
博文 119
码字总数 154291
作品 0
海淀
项目经理
私信 提问
从简易计算器学习Android开发

版权声明:有问题请联系邮箱 gsjujj@163.com https://blog.csdn.net/qq38066103/article/details/84641332 初学Android移动开发,先从一个简单的项目开始——简易计算器。 前言: 如果你在A...

我好菜哦
2018/11/30
0
0
Android学习笔记——Activity(一)

1.什么是Activity (1)Activity是一个应用程序组件 (2)为应用程序提供一个可视化页面 (3)用户通过此页面与应用程序交互 2.启动Activity的流程 (1)主配置文件:Manifest.xml(各种组件...

uug
2018/11/05
10
0
ViewSwitcher学习笔记

ViewSwitcher 的作用简单来说就是:在两个视图间转换时显示动画 它的两个子类应该很熟悉,ImageSwitcher:转换图片时增加动画效果; TextSwitcher: 转换文字时增加动画效果; API翻译 一、结构...

无一物
2012/12/20
3.5K
0
RecyclerView 数据预加载动画

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/chang1611/article/details/100162947 最近在做一款app,由...

shzwork
10/08
18
0
android布局基础及范例:QQ登陆界面设计

使用android手机的用户想必都有android手机QQ客户端吧,我们是不是觉得QQ登陆界面非常漂亮美观而且具有亲和力?我们是不是也想作出像 QQ那样美观的界面?有的人肯定会问,做UI那不是美工人员...

鉴客
2011/11/01
17.3K
4

没有更多内容

加载失败,请刷新页面

加载更多

redis 内存信息解析

used_memory:由 Redis 分配器分配的内存总量,包含了redis进程内部的开销和数据占用的内存,以字节(byte)为单位 used_memory_rss:向操作系统申请的内存大小。与 top 、 ps等命令的输出一...

Canaan_
14分钟前
2
0
windows 下 python3 安装 pip setuptools

本文链接:https://blog.csdn.net/huzuxing/article/details/80807744 最近在家使用python的时候,总是报setuptools 模块未找到,于是在网上搜索了相关解决办法,但是都没有解决问题。 于是去...

开源中国首席CYO
20分钟前
2
0
数据库添加索引

mysql索引添加 navicat 步骤 - 选择表 -> 设计表 ->索引

以谁为师
30分钟前
3
0
java7与java9中的try-finally关闭资源

1.java7中的try 在java7之前,对于一些需要使用finally关闭资源的操作,会显得很臃肿. try{//}catch(Exception e){//}finally{if(xxxx != null){xxxx.close();}} 在jav...

Blueeeeeee
32分钟前
2
0
字节序转换详解

在跨平台和网络编程中我们经常会提到网络字节序和主机字节序,如果没有正确对两者进行转换,从而导致两方产生了不同的解释,就会出现意想不到的bug。 目录 0x01 概念 0x02 分类 0x03 两种字节...

无心的梦呓
42分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部