zoukankan      html  css  js  c++  java
  • Android -------- RelativeLayout 和 LinearLayout 的性能分析

    布局的绘制角度

    • RelativeLayout不如LinearLayout快的根本原因是:

        RelativeLayout需要对其子View进行两次measure过程,
        而LinearLayout则只需一次measure过程,
        所以显然会快于RelativeLayout,
      
    • 当LinearLayout有weight属性时:

        如果LinearLayout中有weight属性,则也需要进行两次measure,
        即便如此,应该仍然会比RelativeLayout的情况好一点。
      

    子控件的布局方式角度

    • RelativeLayout与其子view的高度问题:

        RelativeLayout的子View如果高度和RelativeLayout不同,
        则会引发效率问题,当子View很复杂时,这个问题会更加严重。
        所以如果可以,尽量使用padding代替margin。
      
    • 不适用使用RelativeLayout的情况:

        在不影响层级深度的情况下,
        使用LinearLayout和FrameLayout而不是RelativeLayout。
      
    • 使用RelativeLayout的情况:

        因为复杂的View嵌套对性能的影响会更大一些,
        所以如果可以,采用尽量少的View层级来表达布局以实现性能最优。
    绳锯木断,水滴石穿。海纳百川,积少成多。一分耕耘,一份收获。
  • 相关阅读:
    捡到一本<C++ Reference>
    题目1008:最短路径问题
    题目1014:排名
    题目1080:进制转换
    题目1081:递推数列
    题目1086:最小花费
    题目1076:N的阶乘
    题目1035:找出直系亲属
    在Mac上搭建Jenkins环境
    获取鼠标点击UGUI,先对于特定物体的相对坐标
  • 原文地址:https://www.cnblogs.com/tittles0k/p/5818570.html
Copyright © 2011-2022 走看看