主要用到三個標籤。
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...