강의 출처 : 컴공선배
생명주기란?
어떤 것이 태어나고 죽기까지의 기간
Activity가 생성되고 소멸되기까지의 기간과 관련된 함수들
Activity의 생명주기를 사용하면 어플을 더 안전하게 구현할 수 있다.
Ex) 게임을 하다가 전화가 왔을 때, 상태변화에 대해서 체크를 해서 전화를 끊었을 때 다시 돌아갈 수 있도록 구현해야함
생명주기 패러다임
액티비티 생성 -> onCreate() -> onStart() -> onResume() -> 액티비티 실행 -> onPause() -> onStop() -> onDestroy() -> 액티비티 소멸
onCreate()
- 최초 실행 시에만 해줘야 하는 작업들
- Data Binding
- View 생성
- setContentView와 같은 레이아웃 정의
onStart()
- 액티비티를 최상단으로 보내서 사용자와 상호작용할 수 있도록
- 화면에 진입할 때마다 실행되어야 하는 작업들
- UI를 관리하는 코드를 초기화
onResume()
- 사용자와 상호작용하기 전에 호출됨
- 사용자에게 보이는 동안 실행해야 하는 기능
- 카메라 미리보기 , 카메라 활성화
액티비티 실행
onPause()
- 어떤 이벤트가 발생해서 사용자가 실행중이던 activity를 떠나게 됐을 때
- 잠시 후 다시 시작할 작업을 일시중지, 조정
- 배터리 수명에 영향을 미칠 수 있는 리소스 해제
- GPS 관리
- Thread 중지
- 카메라 미리보기 정지, 카메라 끄기
onStop()
- 사용자에게 보이지 않는 동안 필요하지 않은 리소스를 해제 or 조정
- 비교적 부하가 큰 저장 작업
- 정보를 데이터베이스에 저장
onDestroy()
- 액티비티가 소멸되기 전에 정리하는 작업
- 해제되지 않은 모든 리소스 해제
- MediaPlayer
안드로이드 멀티미디어 프레임워크의 한 부분으로 res 디렉토리나 갤러리로부터 오디오나 비디오를 재생하게 된다.
- SharedPreferences - Editor
간단한 값 저장에 DB를 사용하기에는 복잡하기 때문에 SharedPreferences를 사용한다.
키-값 형태로 데이터를 저장한다.
- Json
다양한 프로그래밍언어에서 데이터를 주고 받기 위해 사용되는 객체를 표현하는 방법
- Gson
json 구조를 띄는 직렬화된 데이터를 JAVA의 객체로 역직렬화, 직렬화 해주는 자바 라이브러리
JSON Object -> JAVA Object / JAVA Object -> JSON Object 를 가능하게 해준다.
'안드로이드' 카테고리의 다른 글
UMC 안드로이드 7주차 (0) | 2022.05.07 |
---|---|
UMC 안드로이드 스터디 6주차 (0) | 2022.04.29 |
Retrofit 공부 - recyclerView실습 (0) | 2022.04.05 |
UMC 안드로이드 스터디 4주차 (0) | 2022.04.05 |
UMC 안드로이드 스터디 4주차 (0) | 2022.04.04 |