如何高性能布局

简介: RelativeLayout Vs LineLayout 尽可能的使用RelativeLayout,不要使用绝对布局AbsoluteLayout,在布局层次一样的情况下,建议使用LineLayout代替RelativeLayout,因为LineLayout性能要稍高一点,但往往RelativeLayout可以实现LineLayout嵌套才能实现的布局。
  1. RelativeLayout Vs LineLayout
尽可能的使用RelativeLayout,不要使用绝对布局AbsoluteLayout,在布局层次一样的情况下,建议使用LineLayout代替RelativeLayout,因为LineLayout性能要稍高一点,但往往RelativeLayout可以实现LineLayout嵌套才能实现的布局。

 2. include
在实际开发中,我们经常会遇到一些公用的UI组件,比如导航栏,如果每个布局文件中都去在xml里面写相关代码,将会产生大量的工作量。同时如果要对布局发生改变,需要修改很多xml里面的代码,通过include可以实现在多个布局文件中引用同一块布局文件,或者采用组合控件的方式代替include也是不错的选择。
 
 3.   viewStub
懒加载,viewstub标签同include标签一样可以用来引入一个外部布局,不同的是,viewstub引入的布局默认不会扩展,既既不会占用位置,从而在解析layout布局文件的时候节省cpu和内存,viewstub常用来引入那些默认不显示,只有在特殊情况下显示的布局,如加载布局,网络失败布局,显示的刷新布局,形式出错的提示布局等。
 
  4. merge
合并UI布局,有些时候lint工具会给出提升,所以可以依靠android的lint工具去使用merge去修改和优化布局文件,使用该标签主要是减少布局的嵌套层次。
 
布局根节点为framelayout且不设置background或者padding等属性,可以使用merge来代替,因为可以用merge消除一个节点。
 
某布局作为子布局被其他布局include时候,使用merge当作该布局的顶点,这样在被引入时顶节点会被自动忽略,而其子节点全部合并主布局里面去。
 
笔记是在学习麦子学院视频过程中整理的,大家没事也可以上去学习下,有很多技术类的在线视频
http://www.maiziedu.com/course/android/

 

相关文章
|
3月前
|
移动开发 监控 前端开发
构建高效Android应用:从优化布局到提升性能
【7月更文挑战第60天】在移动开发领域,一个流畅且响应迅速的应用程序是用户留存的关键。针对Android平台,开发者面临的挑战包括多样化的设备兼容性和性能优化。本文将深入探讨如何通过改进布局设计、内存管理和多线程处理来构建高效的Android应用。我们将剖析布局优化的细节,并讨论最新的Android性能提升策略,以帮助开发者创建更快速、更流畅的用户体验。
63 10
|
6月前
|
容器
关于弹性布局
关于弹性布局
52 1
|
5月前
|
开发者 UED 容器
与传统的块级和行内布局相比,Flexbox为Web开发者提供了更加灵活、高效的布局方式
【6月更文挑战第10天】Flexbox是CSS3的弹性盒子布局,提供灵活、高效的网页布局解决方案。其特点包括灵活性、响应式和易理解,能适应不同屏幕尺寸和设备。核心概念有容器和项目,常用于导航栏、卡片布局、响应式设计、表格和表单布局。关键属性如flex-direction定义主轴方向,justify-content和align-items控制对齐,flex属性处理伸缩,order调整顺序。通过响应式设计和兼容性考虑,Flexbox助力创建优质、适应性强的Web界面。
39 0
|
6月前
|
机器学习/深度学习 存储 人工智能
世界最快硬件加速器Groq LPU的底层架构设计!
【2月更文挑战第19天】世界最快硬件加速器Groq LPU的底层架构设计!
139 1
世界最快硬件加速器Groq LPU的底层架构设计!
|
6月前
|
前端开发 容器
弹性布局是?
弹性布局是?
|
6月前
|
编解码 前端开发 UED
前端需要完完全全掌握的这些布局方案
前端需要完完全全掌握的这些布局方案
|
前端开发
几种布局方式与各自优点
几种布局方式与各自优点
53 0
|
前端开发 UED 容器
深入了解Flex布局:构建灵活响应式布局的利器
深入了解Flex布局:构建灵活响应式布局的利器
153 1
|
前端开发 容器
前端中关于弹性布局的应用
前端中关于弹性布局的应用
126 0