Android實用筆記——Android佈局優化

一、五種佈局方式的使用頻率(由高到低)佈局

    RelativeLayout(相對佈局)   性能

    LinearLayout(線性佈局)xml

    FrameLayout(幀佈局)內存

    TableLayout(表格佈局)it

    AbsoluteLayout(絕對佈局)效率

    最後兩種佈局方式是最經常使用到的,基本上全部的Activity中很難擺脫這兩種佈局方式。layout

 

二、Android佈局原則di

    儘可能多使用LinearLayout(線性佈局)和RelativeLayout(相對佈局),不要使用AbsoluteLayout(絕對佈局);文件

    在佈局層次同樣的狀況下,建議使用LinearLayout(線性佈局)代替RelativeLayout(相對佈局),由於LinearLayout的性能稍高一些;vi

    將可複用的組件抽取出來經過include標籤使用;

    使用ViewStub標籤來加載一些不經常使用的佈局;

    使用merge標籤來減小布局的嵌套層次。

 

三、< include /> 的使用

    做用:將共用的組件抽取出來單獨放到一個xml文件中,而後使用include標籤導入共用佈局。

    效果:提升UI的製做和複用效率,也能保證製做的UI佈局更加規整和易維護。

    使用:<include layout="@layout/xxxx" />

 

四、使用merge合併UI佈局

    做用:合併UI佈局,使用該標籤能減低UI佈局的嵌套層次

    使用場景:佈局根節點是FrameLayout且不須要設置background或padding等屬性,能夠用merge代替;某佈局做爲自佈局被其餘佈局include時,使用merge當作該佈局的頂結點,這樣在被引入時頂結點會被自動忽略。

        

五、使用ViewStub進行惰性加載

    做用:ViewStub標籤同include標籤同樣能夠用來引入一個外部佈局,不一樣的是,ViewStub引入的佈局默認不會擴張,既不會佔用顯示也不會佔用位置,從而在解析Layout時節省CPU和內存。

相關文章
相關標籤/搜索