안드로이드 앱 개발 정리[3]

SMART_Phone/Android 2011. 5. 30. 16:25 Posted by Request
[프로세스 라이프사이클]
: 일반적으로 Activity가 실행중일때 중요도에 따라 foreground activity, visible activity,
background activity, empty process 등 4개의 프로세스 상태로 분류
할수 있다.



1. foreground activity
- 조작중인 최상위 화면의 Activity  = forefround activity
(제일 중요한 프로세스로 메모리가 부족해도 제일 마지막에 제거된다.)


2.visible activity
-사용자 화면에는 보여지지만 foreground가 아닌 것을 visible activity라고 한다.


3.background activity
-사용자에게 보여지지 않고 멈춘 것이다.
시스템은 foreground나 visible 프로세스가 메모리를 요구하면 background activity를 안전하게 제거 할 수 있다.
만약 backgroundactivity프로세스를 제거 한후에
사용자가 그 Activity로 다시 내비게이션 한다면 해당 화면을 다시 보여주어야 하는데 이때 Activity의 OnCreate(Bundle savedInstanceState)메소드의 savedInstanceState파라미터를 사용한다.


4.empty process
-Service 또는 BroadcastReceiver 클래스와 같이 Activity도 없고 애플리케이션 컴포넌트도 없는 것을
empty process라고 한다.
이 프로세스는 메모리가 부족해지면 시스템에 의해 바로 제거 된다.
(임의의 백그라운드 연산은 Activity BroadcastReceiver 또는 Service의 콘텍스트에서 실행해야 한다.)