: App 전역의 정보를 담고(관리)있는 Interface
리소스 및 클래스 접근
Activity 실행 등을 관리
: process 의 lifetime을 따르는 singleton global Application Context
App process
foreground
: 사용자가 App과 상호작용 가능할 때.
background
: 사용자가 App과 상호작용 불가능할 때.
onCreate
: 데이터(변수 등) 초기화 (인스턴스 화)
onStart
: 화면이 보여지기 시작했을 때 필요한 기능을 정의(Listener,Animation 추가)
onResume
: (foreground 상태) 작업을 많이 하지 않음 -> 멀티 스레드가 생기면서 너무 많이 호출되기 때문 !
onPause
: onResume 에 대응 되는 작업
onStop
: onStart 에 대응 되는 작업
onDestory
: onCreate 에 대응 되는 작업
❗ onDestory 에서 작업을 거의 하지 않는다(자원 반납 등)
-> 작업을 오래 하지 않는 경우, 메모리가 부족한 경우 등 비정상적 종료가 되면 onStop 에서 프로세스가 종료되기 때문에 onDestory를 보장 하지 않는다.
다른 함수의 인자로 전달 함수
특정 이벤트가 발생 후 호출되는 함수
: 안드로이드 프레임 워크의 핵심 구성요소(Activity, Service, Provider, Receiver)들은 생명주기를 가지고 있다. 생명주기는 운영체제 또는 프로세스 안에 실행 중인 프레임워크 코드에 의해서 관리된다. 생명주기는 안드로이드가 동작하는 방식의 핵심이 되는 부분이다. 수명 주기를 준수하지 않으면 메모리 누수 또는 애플리케이션의 비정상 종료가 발생할 수 있다.
: 특정 영역을 재사용하고 싶을때 사용
Modularity
Reusability
(Activity Lifecycle 과의 차이)
onCreate
: View와 관련 없는 데이터 초기화
onCreateView
: View 생성 작업 (이외에는 하지 않는게 좋음) -> 각 parameter 의미❓
onViewCreate