Android 고급 프로그래밍
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 사용
로드 지연에 자주 사용되지 않는 컨트롤
레이아웃 속도 향상
장면 작업
인터페이스 자주 전환
인터페이스 고속 전환
사용법
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.