Android #2 - Life Cycle

yoondengo·2021년 4월 26일
0

ANDROID

목록 보기
2/4
post-thumbnail

onCreate

액티비티가 생겨날때 딱 한번 호출됨
데이터를 목록에 바인딩
리스너 객체 생성
로그인 버튼에 입력한 id, pwfmf sharedpreferences에 저장하고 현재 액티비티를 종료하는 리스너 등록
카톡 - 필요한 정보들 여기서 등록해놓기 (뷰 바인딩 값이라던가, shared preferences의 값 미리 불러올거 있음 여기서함)
액티비티 최초 생성때 딱 한번만 하면 되는 일들이기 때문이다.

onStart (stop되었을때 restart를 거쳐서)

리스너 등록
활동을 백그라운드가 아닌 포그라운드 액티비티로 보내 상호작용할 준비를 함
onStop과의 관계를 유심히 생각해봐야할것
액티비티가 띄어지기 전이라는 것에 포커스를 맞추어 보자
멜론 - 로그인
카톡 - 자동로그인 확인. 왜 여기서 하냐면 Resume에서 포그라운드에 표시되기 직전의 단계이므로 여기서 해주면 아예 안보이고 넘어가기 가능

onResume (pause에서)

활동이 재개됨 상태
포그라운드에 표시됨
앱이 사용자와 상호작용함
전화가 왔을때, 사용자가 다른 활동으로 이동, 기기화면이 꺼졌을때 여기에서 벗어남
이를 앱에서 포커스가 떠난다고 표현
멜론 - 일회성 광고 띄우기
카톡 - 대화창 입력했던 메세지 불러오기, onCreate에서 했다가, pause와 stop에서 복귀했을때 무조건 지나는 부분이므로 여기서 불러오는것을 구현했다. (어느곳에서 돌아와도 결국 여길 무조건 거쳐지나감)

onPause

생명주기상 사용자에게 보여지지 않을때 호출된다
완전히 가린게 아닐때 -> onStart로 복귀
완전히 가렸을때 -> onStop으로 넘어감
이때 shared preferences에 저장해놓음
멜론 - 현재 듣고있는 음악의 시간 위치? 정보 저장하기
카톡 - 입력했던 메세지 저장해놓기 

onStop

자원을 해제할때..?
멜론 - 음악 정지
카톡 - 솔직히 조금 억지긴한데 보안성.. 을 위해서 로그인 화면에서 나갔다 들어왔을때 입력창 초기화 구현

onRestart

멜론 - 현재 듣고있는 음악의 위치 받아와서 이동하기
카톡 - 메인액티비티에서 랜덤한 정수를 번들을 통해 다이얼로그 프래그먼트로 보냄, 다이얼로그 프래그먼트에선 이것을 받아서 광고 배너를 화면이 나갈때마다 바뀌게 할 수 있음.

onDestroy

자원의 남은 해제를 모조리 해주어야함
finish를 여기서 사용…?
멜론 - 음악플레이어 릴리즈
카톡 - Task에 있는 해당 액티비티를 완전히 끝내줌(메인액티비티에서만)

profile
Software Engineer (전산쟁이)

0개의 댓글