Android 고급 프로그래밍

2388 단어
1. UI 성능 향상
1. 어댑터 및 어댑터View의 효율성 향상
생성된 Item View 재사용
ViewHolder를 추가하여 수정할 컨트롤을 다시 찾지 않도록 합니다.
Item 데이터 캐시
분단현실
인스턴스:
class OptAdapter extends BaseAdapter{

	List<String> list;
	LayoutInflater inflater;
	ViewHolder viewHolder;
        ...
	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		// TODO Auto-generated method stub
		if(convertView == null){
			convertView = inflater.inflate(R.layout.optitem, parent, false);
			TextView textView1 = (TextView) convertView.findViewById(R.id.tv1);
			TextView textView2 = (TextView) convertView.findViewById(R.id.tv2);
			viewHolder = new ViewHolder();
			viewHolder.setTextView1(textView1);
			viewHolder.setTextView2(textView2);
			viewHolder.setString(list.get(position).toString());
			convertView.setTag(viewHolder);
		}else{
			viewHolder = (ViewHolder) convertView.getTag();
			viewHolder.setString(list.get(position).toString());
		}
		viewHolder.getTextView1().setText(viewHolder.getString());
		viewHolder.getTextView2().setText(viewHolder.getString());
		return convertView;
	}
	
	public static class ViewHolder{
		TextView textView1,textView2;
		String string;
		public TextView getTextView1() {
			return textView1;
		}
		public void setTextView1(TextView textView1) {
			this.textView1 = textView1;
		}
		public TextView getTextView2() {
			return textView2;
		}
		public void setTextView2(TextView textView2) {
			this.textView2 = textView2;
		}
		public String getString() {
			return string;
		}
		public void setString(String string) {
			this.string = string;
		}
		
	}
	
}

2. 배치 최적화
관찰 레이아웃 도구Hierarchy View 사용
레이아웃 최적화 도구lint 사용하기
레이아웃의 차원 구조를 최적화하다.
3. 배경 그림 최적화
동적 설정 getWindow.setBackgroundDrawableResource(id)
정적 설정, 사용자 정의 테마
res/values/theme.xml
4
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="Theme.testTheme" parent="android:Theme">
        <item name="android:windowBackground">@drawable/ic_launcher</item>
    </style>
</resources>
android:theme 호출 = "@style/Theme.testTheme"
4、ViewStub 사용
로드 지연에 자주 사용되지 않는 컨트롤
레이아웃 속도 향상
장면 작업
인터페이스 자주 전환
인터페이스 고속 전환
사용법

좋은 웹페이지 즐겨찾기