안드로이드/고급
[PAAD] 2장 시작하기 정리
success17
2011. 8. 12. 19:49
inflation(인플레이트)
: XML 레이아웃에 정의된 내용을 분석하여 해당 xml이 표현하고 있는 View 객체들로 구성된 실제 트리로 변환하는 작업
코드 레이아웃 템플릿
public class TestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 직접 TextView의 인스턴스를 생성합니다. 파라미터는 Context입니다.
TextView myTextView = new TextView(this);
myTextView.setText("Hello World, HelloWorld by code.");
LinearLayout.LayoutParams textViewLP; // TextView의 레이아웃 파라미터를 생성합니다.
textViewLP = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, // 넓이는 꽉 채웁니다.
LayoutParams.WRAP_CONTENT); // 높이는 텍스트 내용의 크기입니다.
LinearLayout ll = new LinearLayout(this); // 액티비티 전체 루트 레이아웃인 LinearLayout 객체를 생성
ll.setOrientation(LinearLayout.VERTICAL); // 방향은 세로 방향으로 자식 뷰를 배치할 것입니다.
LinearLayout.LayoutParams lp; // LinearLayout 자체의 레이아웃 파라미터는 넓이와 높이 모두 전체
lp = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT);
ll.addView(myTextView, textViewLP); // LinearLayout 루트에 TextView 위젯을 추가합니다.
this.addContentView(ll, lp); // 이제 액티비티의 콘텐츠로 LinearLayout을 루트로 설정합니다.
}
} |
효율적인 안드로이드 코드 작성
-
http://developer.android.com/guide/practices/design/performance.html
- 스택과 힙은 어떻게 사용할지, 객체 생성은 어떻게 제한할지,
변수의 유효범위가 메모리 사용에 미치는 영향을 어떻게 파악할지
- 모든 사용자 동작에 대해 반드시 5초 이내로 반응
- 브로드캐스트 리시버는 자신의 onReceive 핸들러에서 반드시 10초 이내에 리턴해야 한다
- 무반응 유발 -> 쓰레드로 처리(9장)
: 네트워크, 복잡한 처리, 파일IO