博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浅谈Android布局优化
阅读量:5078 次
发布时间:2019-06-12

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

在现在的开发环境中,很容易让人忘了对布局进行优化,我们只需要在IDE中调整调整,然后再setContentView()一下就行,那么让我们来看看在这个过程中他做了什么:

1.读取文件

2.解析数据

3.展开布局

如果布局结构复杂的话,花费的时间就会越长,那么我们不妨来对结构进行写简单调整:

一、使用相对布局

作为一个开发人员我们可能首先接触到的应该是LinearLayout,因为他是个默认布局,这个布局用起来也比较简单。用久了我们会发现,稍微复制一点的结构用linearlayout的话,会嵌套的比较深,层次结构比较复杂,这时我们不妨来用用relativelayout

二、合并布局

一般是对于顶层元素为framelayout来说的,因为Activity的内容视图就是一个framelayout,我们不妨用hierarchyviewer来查看一下,如果我们直接写framelayout会发现顶层还有一个framelayout如果用<merge>表情来替代framelayout的话会发现少了一个framelayout,这样就能起到一个减少层次结构的作用。

三 、重用布局

说到重用布局那当然是<include>标签了,很多时候用这个有两个目的,1在一个布局中引用多次,2很多文件公用一个布局,包含的布局是动态处理的,并在编译时完成。

四、ViewStub

这是一个推迟初始化的技术,他不但可以提高性能还可以节省内存,有些复杂的布局展开需要花费时间,不过有时候此时是不必要展开的,此时我们可以考虑用ViewStub来选择恰当的时间来对其进行展开,他有两种展开方式

1.viewstub.inflate()

2.用setvisibility()来对其展开

各有各的好处,适合用哪一个就用哪一个。

转载于:https://www.cnblogs.com/gengligang/p/4937943.html

你可能感兴趣的文章
Abstract Factory Pattern
查看>>
list 容器 排序函数.xml
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
windows下编译FreeSwitch
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
django Models 常用的字段和参数
查看>>
IOS--沙盒机制
查看>>
使用 JointCode.Shuttle 访问任意 AppDomain 的服务
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
Jquery ui widget开发
查看>>
关于indexOf的使用
查看>>
英语单词
查看>>
Mongo自动备份
查看>>
cer证书签名验证
查看>>
新手Python第一天(接触)
查看>>