android 布局優化

2021-07-10 07:49:21 字數 2952 閱讀 4218

主要用到三個標籤。

1 include 用於重複使用某個布局,減少**的重複。

2 merge 用於減少布局的巢狀的層數。當父布局與子布局的根節點使用的是相同的布局,並且用include來包括進父布局中。那麼這個時候可以使用merge來替代掉原來的自布局的根節點。

舉個栗子:

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

xmlns:android=""

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:id="@+id/viewstub"

android:layout="@layout/image"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@mipmap/ic_launcher" />

layout="@layout/content" />

linearlayout>

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

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="horizontal"

xmlns:android="">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@mipmap/ic_launcher" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="button" />

merge>

當子布局的根節點用merge替代的時候,這個時候我們開啟sdk中tools資料夾中的hierarchyview,觀察一下層次結構。

而不適用merge的時候直接使用linearlayout作為根節點的時候的層次結構為

比較可以看到使用merge的時候少了一次布局,這樣就優化了效能。

3 viewstub標籤和include標籤一樣可以用來引人乙個外部布局,不同的是,viewstub引入的布局預設不會擴張,既不會占用顯示也不會占用位置,從而解析layout時節省cpu和記憶體。

用viewsstub經常用來載入不常用的布局。 效果看上去好像跟檢視裡面設定android:visibility=」gone」差不多。

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

xmlns:android=""

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:id="@+id/viewstub"

android:layout="@layout/image"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

android:visibility="gone"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@mipmap/ic_launcher" />

layout="@layout/content" />

linearlayout>

當需要顯示stubview的檢視的時候,

public

class

mainactivity

extends

activity

}

這樣就能將隱藏的檢視顯示出來。

Android布局優化

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

Android布局優化

布局優化,系統在渲染ui介面的時候將消耗大量的資源,乙個好的ui不僅具有良好的視覺效果,更應該具有良好的使用體驗,因此布局優化就顯得非常重要。1 android ui渲染機制 人眼所感覺的流暢畫面,需要畫面的幀數達到40幀每秒到60幀每秒,相信玩兒過pc遊戲的朋友應該對幀數的概念非常清楚,最賤fps...

Android布局優化

安卓效能優化的內容很多,但是做起來其實就和擠牙膏一樣。說道布局優化,首先我們要理解圖形是如何被渲染到螢幕上的。這裡借鑑大佬的圖 其實cpu也可以用來做圖形顯示,但是為什麼又需要專門的gpu呢?簡單來說cpu作為 處理器任務很多,對於複雜圖形的計算速度跟不上需求,要單獨依賴cpu會大大加大成本,所以g...