如何高效能布局

2021-09-21 16:07:30 字數 833 閱讀 3314

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當作該布局的頂點,這樣在被引入時頂節點會被自動忽略,而其子節點全部合併主布局裡面去。

如何高效能布局

relativelayout vs linelayout 盡可能的使用relativelayout,不要使用絕對布局absolutelayout,在布局層次一樣的情況下,建議使用linelayout代替relativelayout,因為linelayout效能要稍高一點,但往往relativelay...

如何高效能布局

relativelayout vs linelayout 盡可能的使用relativelayout,不要使用絕對布局absolutelayout,在布局層次一樣的情況下,建議使用linelayout代替relativelayout,因為linelayout效能要稍高一點,但往往relativelay...

如何構建高效能MySQL索引

本文的重點在於如何構建乙個高效能的mysql索引,從中你可以學到如何分析乙個索引是不是好索引,以及如何構建乙個好的索引。乙個索引的常見誤區是為每一列建立乙個索引,如下面建立的索引 create table t c1 varchar 50 default null,c2 varchar 50 defa...