라벨의 우선 사용
포함 : 라벨 레이아웃 공유
ViewStub은 : 라벨 지연 로딩이 표시되지이다, 구현 및이 볼 수 또는 자원을 채울 것입니다 레이아웃 후 팽창으로 설정되어보기 0의 크기입니다.
병합 : 라벨 레이아웃이 수준을 줄이기 위해
둘째, CompoundDrawable를 사용하려고
比如 : 안드로이드 : drawableBottom = "@ 밉맵 / ic_launcher"
셋째, 사용 린트
검사에 안드로이드 린트 또한 정적 자바 코드는 또한 응용 프로그램의 레이아웃의 존재를 최적화 할 수 있습니다 확인하는 데 사용할 수 있습니다 될 수 있습니다. 린트 다음과 같은 규칙이 레이아웃을 최적화하기 위해 특별히 설정되어 있습니다 :
- AndroidLintUseCompoundDrawables는 : 그것은 CompoundDrawable 앞에서 설명한 사용하려고하는 것입니다.
- MergeRootFrame은 : 병합 태그는 레이아웃 레벨을 줄이기 위해 이전에 설명되어 있습니다.
- TooManyViews는 : 거기에 너무 많은 단일 레이아웃보기, 기본적으로 하나의보기의 레이아웃은 숫자 80이 될 수있는 뷰처럼 사용할 CompoundDrawables의 수를 줄이기 위해 고려 될 수있다.
- TooDeepLayout : 피하기 과도한 레이아웃 중첩은 기본적으로 10 최대 단일 레벨의 레이아웃은 사용 RelativeLayout의 레이아웃의 수준을 줄이기 위해 고려 될 수있다.
- UselessParent : 여분의 부모 컨트롤.
- NestedWeights : 안드로이드 : 비 0dp의 LinearLayout, 기하 급수적으로 제어 증가의 척도가 있으면 다시 둥지 외부에 layout_weight 속성을 : layout_weight를보기 속성이 아닌있는 LinearLayout이있을 때 0dp 가치는 안드로이드, 두 번 측정한다.
- UselessLeaf : 아이가 배경을 설정하지 않은보기를 레이아웃하지, 그것을 제거해야합니다.
- InefficientWeight는 하나의 아이 뷰의 LinearLayout은 안드로이드 정의 할 때 : layout_weight를 등록, 높은 성능의 접근 방식은 0dp을 사용하는 것입니다 안드로이드 : layout_height 또는 안드로이드 : layout_width가 자신의 크기에 해당하는 자식보기를 측정하는 것이 필요하다 그래서, 그것을 대체 할.
"안드로이드 고급 고급"