zoukankan      html  css  js  c++  java
  • 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和内存

  • 相关阅读:
    Qt 交叉编译经典错误——头文件包含
    Linux-Qt使用QThread多线程isRunning标志量问题
    个人总结——C、C++指针传参和初始化字符空间
    ARM板设置开机自启动应用程序
    python--ModuleFoundError
    php输出错误屏蔽的函数
    类QQ账号生成阐述
    Python基础(四)—日期类型
    Python基础(三)—字典和集合
    Python基础(二)—列表和元组
  • 原文地址:https://www.cnblogs.com/boy1025/p/4301953.html
Copyright © 2011-2022 走看看