Android成长日记-Android布局优化

Android常用布局

1. LinearLayout(线性布局)

2. RelativeLayout(相对布局)

3. TableLayout(表格布局)

4. AbsoluteLayou(绝对布局)

5. FrameLayout(帧布局)

低--------------使用量------------------à高

4->3->5->1->2

Android布局原则

(1) 尽量多使用LinearLayout和RelativeLayout,不要使用AbsoluteLayout

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

(3) 将可复用的组件抽出来并通过include便签使用

(4) 使用ViewStub标签来加载一些不常用的布局

(5) 使用merge便签减少布局的嵌套层次

Eg:

(一) <include/>的使用

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

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

Op:<include layout=”@layout/common_title”/>

在布局文件中引入这个相同的布局即可

(二) 使用merge合并UI布局

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

场景:1.布局根节点是FrameLayout且不需要设置background或padding等属性,可以使用merge代替

2.某布局作为子布局被其他布局include时,使用merge当做该布局的顶节点,这样再被引入时顶节点会自动被忽略

(三) 使用ViewStub惰性加载

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

转载于:https://www.cnblogs.com/boy1025/p/4301953.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431995.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

练字格子纸模板pdf_a4田字格练字纸打印版-练字标准田字格模板-a4打印版下载最新免费excel版-西西软件下载...

练字标准田字格模板-a4打印版是一份a4田字格练字模板下载&#xff0c;硬笔书法练习田字格模板-标准A4打印版、标准田字格模板-每日练字、硬笔书法练习田字格模板-标准A4打印版、标准田字格模板-A4打印、硬笔书法练习田字格模板可以使用。word制作练字田字格1、点击word“表格”…

vcpkg

git clone https://github.com/Microsoft/vcpkg.git cd vcpkg ./bootstrap-vcpkg.sh ./vcpkg integrate install./vcpkg install curl[tool] ./vcpkg.exe install pthreads:x64-windows

DB2 常用命令小结

1、 打开命令行窗口 #db2cmd 2、 打开控制中心 # db2cmd db2cc 3、 打开命令编辑器 db2cmd db2ce 操作数据库命令 4、 启动数据库实例 #db2start 5、 停止数据库实例 #db2stop 如果你不能停止数据库由于激活的连接&#xff0c;在运行db2stop前执行db2 force application all…

以字符串形式打印宏值

#define PI 3.141592654 #define xstr(s) str(s) #define str(s) #s int main() {string str1 xstr(PI);const char* str2 xstr(PI);cout << str1 << endl;cout << str2 << endl; }

解决cocos2dx调用removeFromParent后报错问题

原因&#xff1a;cocos2dx的bug 解决办法&#xff1a; 放到action中&#xff0c;前面添加一个DelayTime延迟&#xff0c;代码如下 this->runAction(Sequence::create(DelayTime::create(0.1f),CallFuncN::create([&](Node* pNode){pNode->removeFromParent();}),NULL…

常量缓存与integer比较_吊打面试官系列:说说Integer缓存范围

本文主要大致思路为&#xff1a;不管从工作中还是面试&#xff0c;这篇文章都应该好好看完&#xff0c;本人认为是非常有用的。案例Integer是基本类型int的封装类。平时不管是入坑多年的小伙伴还在入坑路上的小伙伴&#xff0c;都应该知道的使用频率是相当高。下面模仿订单支付…

使用BIND安装智能DNS服务器(一)---基本的主从DNS服务器搭建

参考网址&#xff1a;http://www.unixmen.com/dns-server-installation-step-by-step-using-centos-6-3/   DNS(Domain Name System) 将主机名或者URLS翻译成IP地址。 例如&#xff1a;如果在浏览器输入网址 "www.unixmen.com" DNS server 将把这个域名翻译成和他…

openflow交换机 ryu_关于OpenFlow协议

SDN中两个重要元素&#xff1a;控制器(掌控全局&#xff0c;指挥网络内的设备工作)交换机(转发数据)控制器与网络设备通过OpenFlow协议进行通信OpenFlow交换机内有一个FlowTable&#xff0c;交换机按照流表转发数据&#xff0c;流表由控制器生成和维护。内有数据包匹配特征和数…

QT 语言切换

1. 代码里面需要切换语言的文字用tr包裹 2. 在工程pro文件目录下 3. 使用QT安装目录下的 Linguist程序增加中文字符串 4. 打开命令行 5. 执行 lrelease.exe ......\translations\zh_CN.ts

excel条形码字体_在Excel中批量生成条形码,竟如此简单!

条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等许多信息&#xff0c;因而在商品流通、图书管理、邮政管理、银行系统等许多领域都得到广泛的应用。那么如何在Excel中快速生成条形码呢&#xff1f;我们以前看到的方法有&am…

(视频) 《快速创建网站》 3.2 WordPress多站点及Azure在线代码编辑器 - 扔掉你的ftp工具吧,修改代码全部云端搞定...

本文是《快速创建网站》系列的第6篇&#xff0c;如果你还没有看过之前的内容&#xff0c;建议你点击以下目录中的章节先阅读其他内容再回到本文。 访问本系列目录&#xff0c;请点击&#xff1a;http://devopshub.cn/tag/wordpress-on-azure/ 1. 网站管理平台WordPress和云计算…

自定义外部协议使浏览器拉起本地程序

什么是自定义协议 由于我们的游戏需要在浏览器中调用NPAPI插件&#xff0c;而chrome移除了NPAPI的支持&#xff0c;导致游戏并不能很好的适配所有的浏览器&#xff0c;所以这个时候我们对于chrome浏览器用到了自定义浏览器协议这一标准。自定义浏览器协议允许在浏览器中使用pr…

hssfcolor 不建议使用_不建议使用微信双开的真正原因!

不少小伙伴都有两个甚至多个微信号&#xff0c;通常一个是自己的私人号&#xff0c;其它则用于工作&#xff0c;所以想要在手机中双开微信&#xff0c;这样使用起来更方便。不过使用 iPhone 的小伙伴就很郁闷了&#xff0c;为什么在 iPhone 上不能像部分安卓手机那样方便的双开…

【转】如何用css限制文字长度,使溢出的内容用省略号…显示

文章转自这里(现在貌似被黑了&#xff0c;建议不要点击了) ps&#xff1a;因在该地方没看到转载按钮&#xff0c;复制下存到这里以待自己方便&#xff0c;别人能看到帮助一下更是乐意之至&#xff0c;效果亲测可以实现&#xff0c;兼容IE、谷歌、火狐 由于文字内容长度的不确定…

yytextview多种格式_iOS YYText的使用笔记一(YYTextView图文编辑器)

YYText是强大的YYKit的一部分可以单独下载Powerful text framework for iOS to display and edit rich text. (Its a component ofYYKit)集成的时候建议使用cocopod管理1.里面主要两个控件&#xff1a;YYTextView 和 YYLabel现在主要是YYTextview的简单使用YYText主要是NSMutab…

React Canvas:高性能渲染 React 组

React Canvas 提供了使用 Canvas 渲染移动 Web App 界面的能力&#xff0c;替代传统的 DOM 渲染&#xff0c;具有更接近 Native App 的使用体验。React Canvas 提供了一组标准的 React 组件&#xff0c;由基于的渲染元素抽象而成。 GitHub 源码下载 示例代码&#xff1a; …

移除集合效率高还是add高_List、set集合接口分析

一、List接口详解1、List接口有三个实现类&#xff0c;ArrayList、LinkedList、Vector2、三个实现类的异同点&#xff1a;&#xff08;1&#xff09;ArrayList: 作为list接口的主要实现类&#xff1b;线程不安全&#xff0c;效率高&#xff1b;底层使用Object[]存储&#xff08…

代码实践

闭包举例&#xff1a; function closure(){var innerVariable inner;function innerFn(){ return innerVariable;}return innerFn(); } var innerVariable defined in outer; var outerVariable closure(); console.log(outerVariable); 测试字符串是否回文&#xff1a; …

python 读取excel太慢_Python 读取excel并转换为字典

方法一&#xff1a;利用利用xlrd读取excel文件其实整个过程比较简单&#xff0c;利用xlrd读取excel文件&#xff0c;再把读取到的数据转换为dict即可。1.安装 xlrdpip install xlrd2.读取文件&#xff0c;并进行格式转换导入的excel表格的格式是这样的&#xff1a;解析后的格式…

windows上编译zlib-1.2.8

MSVC编译 使用VS&#xff08;x86&#xff09;命令行工具进入到zlib根目录&#xff0c;执行 nmake -f win32/Makefile.msc ,在根目录下生成&#xff1a;zlib.lib(静态库) zdll.lib(动态库的导入库) zlib1.dll(动态库) 。必要的头文件有zlib.h和zconf.h 默认生成的是release版的…