2010. 3. 16. 13:47
스마트폰 어플리케이션은 열악한 환경 위에서 최적/초고의 성능을 내야 합니다.
데스크탑 어플을 개발할 때 처럼 인심 좋게 만들어 져서는 안되겠지요!
그래서 모바일 플랫폼에서는 아래와 같은 생명 주기에 의해서 어플리케이션을 운용하고 있습니다.
즉, 불필요하게 CPU를 사용하지 말라는 것이지요.
보시는 것 처럼 언제 리소스를 할당하고, 언제 화면에 출력되는 지를 OS 가 알려 줍니다.
개발자는 이런 이벤트 상황에 맞춰서 필요한 동작을 수행하면 됩니다.
위 동작에 의해 어플리케이션이 시작(Launching)되고, 최상단의 라이프 사이클이 시작됩니다.
기본적인 원칙은 "어플리케이션이 화면에 보이는 시점에만 화면 출력을 한다"입니다.
OnForeground(), OnBackground() 이 화면에 보여지는 시점의 시작과 끝을 알려주는 이벤트 핸들러 입니다.
OnForeground() 은
OnBackground() 은
이러한 기본 원칙을 지킨다면 불필요한 배터리 소모를 피할 수 있겠지요!!? 이 원칙은 다른 모바일 플랫폼에서 어플리케이션을 개발할 때도 동일하게 지켜야할 원칙입니다~~~~
모바일 세상으로 Go~~Go~~!!! Go~~Go~~!!!!
데스크탑 어플을 개발할 때 처럼 인심 좋게 만들어 져서는 안되겠지요!
그래서 모바일 플랫폼에서는 아래와 같은 생명 주기에 의해서 어플리케이션을 운용하고 있습니다.
즉, 불필요하게 CPU를 사용하지 말라는 것이지요.
Figure: Background and foreground perspectives
보시는 것 처럼 언제 리소스를 할당하고, 언제 화면에 출력되는 지를 OS 가 알려 줍니다.
개발자는 이런 이벤트 상황에 맞춰서 필요한 동작을 수행하면 됩니다.
Figure: Launching applications
위 동작에 의해 어플리케이션이 시작(Launching)되고, 최상단의 라이프 사이클이 시작됩니다.
기본적인 원칙은 "어플리케이션이 화면에 보이는 시점에만 화면 출력을 한다"입니다.
OnForeground(), OnBackground() 이 화면에 보여지는 시점의 시작과 끝을 알려주는 이벤트 핸들러 입니다.
OnForeground() 은
- 어플리케이션이 실행되어 OnAppInitialize() 동작 후
- Task Manager List 에서 어플리케이션이 선택 됐을 때
- Background 상태에서 Launching 될 때
OnBackground() 은
- "Home" 키라 눌린 경우
- 다른 윈도우가 팝업 됐을 경우
이러한 기본 원칙을 지킨다면 불필요한 배터리 소모를 피할 수 있겠지요!!? 이 원칙은 다른 모바일 플랫폼에서 어플리케이션을 개발할 때도 동일하게 지켜야할 원칙입니다~~~~
모바일 세상으로 Go~~Go~~!!! Go~~Go~~!!!!
'Smart Mobile > Samsung bada' 카테고리의 다른 글
bada Developer Day in Seoul (0) | 2010.03.24 |
---|---|
바다 Application UI Classes (0) | 2010.03.16 |
삼성 "바다" Developer Day (0) | 2010.03.10 |