Android布局優化之merge標籤

2021-09-26 16:17:56 字數 916 閱讀 8692

在自定義view的研究中,偶然遇到了merge標籤,發現它確實有一些作用,覺得它很有意思,所以在這裡給大家分享一下。

merge的使用分為幾種情況:

**如下:

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>

fragent_one.xml:

<?xml version="1.0" encoding="utf-8"?>

在這個場合使用 merge 是因為activity的contentview的父元素始終是framelayout。如果你的布局使用linearlayout作為它的根標籤(舉例),那麼你就不能使用這個技巧。 merge 在其它的一些場合也很有用的。例如,它與 include 標籤結合起來就能表現得很完美。你還可以在建立乙個自定義的組合view時使用merge 。

view的繪製流程需要經歷measure、layout、draw這個三個過程,如果布局巢狀層次比較深的話,每一步都需要進行遍歷所有子view進行對應的measure、layout、draw過程,由此就會降低繪製效率,巢狀越多,耗時就越多;其實不光光只會影響view的繪製效率,同樣的也會影響xml布局的解析效率.

針對這個問題,android為我們引入了merger標籤來降低布局巢狀的問題。如果在布局檔案中使用merge標籤,則需要在include標籤中引入,可以這麼說吧,merge標籤就是include標籤一種輔助擴充套件。

**如下:

merge_item.xml:

<?xml version="1.0" encoding="utf-8"?>

通過include標籤引用

Android效能優化之布局優化

在乙個典型的顯示系統中,一般包括cpu gpu和display三個部分 display可以理解為螢幕或者顯示器,cpu是用來計算影象資料的,然後把計算好的資料交給gpu,gpu會對圖形資料進行渲染,再把渲染好的資料存到buffer 快取區 裡面,最後display也就是螢幕負責把buffer裡面的資...

Android布局優化之ViewStub的使用

最近剛好有看到viewstub,因此根據個人理解記錄下筆記。viewstub是android布局優化的方式之一。它可以讓部分布局延遲載入,從而提高頁面渲染速度。因為viewstub是用於延遲載入使用,因此適用場景是一些不需要即時展示的頁面。舉個例子,大家都用過登入頁面。假設第一次你輸入登入使用者名稱...

Android布局優化

android布局一般是xml布局,然後呼叫setcontentview 方法,雖然這個呼叫很簡單,讓我們具體看一下setcontentview 方法的具體工作步驟 1 android讀取應用的資源資料 apk檔案內,儲存在內部儲存器或sd卡中 2 解析資源資料,展開布局 3 布局展開成為activ...