Android開發時如何做性能優化,搭建網站
導讀:搭建網站布局優化在Android開發時,如果創建的布局層次結構比較復雜,View樹嵌套的層次比較深,會使頁面展現的事件比較長,導致應用運行起來越來越慢,所以需要進行布局建站技術網it技術網站。
布局優化在Android開發時,如果創建的布局層次結構比較復雜,View樹嵌套的層次比較深,會使頁面展現的事件比較長,導致應用運行起來越來越慢,所以需要進行布局優化。
1、使用 Lint: Lint也可以用來檢查應用的布局是否存在可優化的地方,為優化布局設置的規則如下: AndroidLintUseCompoundDrawables:盡量使用CompoundDrawable。 MergeRootFrame:使用merge標簽減少布局層次。 TooManyViews:單個布局中存在太多的View,默認情況下,單個布局中View的個數最多只能是80個,可以考慮使用CompoundDdrawables等來減少View的個數。 TooDeepLayout:避免過深的布局嵌套,默認情況下,單個布局中最多層級是10,可以考慮使用RelativeLayout來減少布局的層次。 UselessParent:當一個布局不是一個SrcollView或者根布局,
只有一個子View且沒有設置背景時可以將它移除掉,并將它的子View移動到它的父容器中,得到更扁平的布局層次。 **NestedWeights:**android:layout_weight屬性會使得View控件被測量兩次,當一個LinearLayout擁有非0dp值的android:layout_weight屬性,這時如果將它嵌套在兩一個擁有非0dp的android:layout_weight的LinearLayout,這時測量的次數將呈指數級別增加。UselessLeaf:一個布局如果沒有子View也沒有設置背景,通常可以移除它,可以得到更扁平和高效的布局層次。 InefficientWeight:當LinearLayout中只有一個子View定義了android:layout_weight屬性,更高性能的做法是使用0dp的android:layout_height或者android:layout_weidth來替換它,這個子View就不需要測量它自身對應的大小。
2、merge標簽減少布局層次: 當一個獨立的布局文件最外層是FrameLayout且這個布局不需要設置背景等屬性時或者當前布局是另外一個布局的子布局時,可以使用merge來減少布局的層次。
3、ViewStub標簽實現延遲加載: ViewStubdede,模板是一種不可視并且大小為0的視圖,可以延遲到運行時才填充布局資源。當ViewStub設置為可見或者被inflate之后,會填充布局資源,ViewStub會被填充的視圖代替,和普通的視圖沒有區別。 ViewStub在需要顯示的時候才會進行視圖的填充,實現延遲加載的目的。4、盡量使用CompoundDrawable: 在LinearLayout布局中,如果存在相鄰的ImageView和TextView,可以使用compound drawable合二為一成為一個TextView,ImageView中的圖片變成TextVIew的drawableTop/drawableLeft/drawableRight/ddrawableBottom屬性,之間的間隔使用drawablePadding屬性來代替。
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-08-06 ,文章Android開發時如何做性能優化,搭建網站主要講述如何做,性能,搭建網站網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_36167.html