Activity는 화면 전환 시 stack구조로 쌓아진다.
사용자와 상호작용을하여 뷰에대한 액션을 취하고 UI를 보여줌
1. onCreate() - Activity 생성, 화면 정의
* Activity의 생명 주기에서 생성 단계에 단 한번 실행되는 메소드
* savedInstanceState라는 파라메터를 받아온다. 이 파라메터는 Activity의 이전 상태를 저장해 둔 'Bundle'객체이다.
* 첫 생성시 savedInstanceState = null
* 레이아웃을 전달하여 화면 정의
2. onStart() - Activity가 사용자에게 보여짐, 사용자와 상호작용x
* 포그라운드로 상호작용 준비단계
3. onResume() - 사용자와 상호작용, 어플의 기능
* 포커스가 없어질때 까지 상태 지속, 사라지면 onPause() 메소드 호출
* Activity가 재개될 때 필요한 초기화 작업 세팅
4. onPause() - 어플 일시정지, background에 avtivity 세팅 , onStop() or onResume() 상태로 전환 가능
* 데이터 저장or 호출같은 트랜잭션 사용x
* 짧은시간에만 해당. 긴 이벤트는 onStop()에서 사용
5. onStop() - Activity가 사용자에게 보이지 않음 , onRestart() or onDestroy 상태로 전환 가능
* 부하가 큰 작업 (예를들어 데이터 저장과 관련된 트랜잭션)에 알맞음
6. onRestart() - onStop()상태의 Activity가 다시 시작됨 , onRestart() -> onStart()상태로 호출
* 중간다리역할
7. onDestroy() - onStop()상태가 완전히 삭제, Activity가 호출하는 마지막 메소드
* Activity가 소멸되기 직전에 호출. 다른 언어의 소멸자와 비슷한듯
* ViewModel객체를 이용하면 뷰 데이터 보관가능
* 화면 변경 등으로 Activity가 종료되면 바로 다른 Activity가 onCreate()
* 본 Activity의 데이터를 쓰지 않는다면 정리해주어야함.
'PROGRAMMING CODE > ANDROID STUDIO' 카테고리의 다른 글
[Android Studio] 라즈베리, 안드로이드 스튜디오 블루투스 통신 (안드로이드 스튜디오 코드 2021기준 최신본 / 주석) (0) | 2021.12.05 |
---|---|
[Android Studio] 신경쓰지 않아도 되는 로그캣 오류 (계속 업데이트) (0) | 2021.12.04 |
[Android Studio] 내장 센서 확인 (0) | 2021.11.30 |