Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발자이야기

android 수명주기 본문

android

android 수명주기

개발자가되고싶어 2021. 7. 8. 01:05
android lifecycle

 

이번엔 android 수명주기에 대해 상황별로 알아보도록 하겠습니다.

 

 

android 는 위와같은 수명주기를 갖고 있습니다.

 

화면과 함께 간단히 로그를 찍어서 살펴보겠습니다.

 

기본적인 상황

1. 메인 액티비티의 실행

onCreate

    ↓

onStart

    ↓

onResume

 

 

 

 

 

 

 

 

 

 

2. app background 상태

onPause

    ↓

onStop

 

 

백그라운드 상태에서 앱 재진입

onRestart

    ↓

onStart

    ↓

onResume

 

 

 

 

 

3. intent 실행 수명주기 2번인 위와 동일

 

위와같은 수명주기를 확인할 수 있습니다.

 

onActivityResult (deprecated)

onActivityResult는 deprecated 되었습니다.

val result = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
    //doSomething
}
hello.setOnClickListener {
    result.launch(intent)
}

위와같이 콜백을 등록하여 onActivityResult 에서 받던 내용을 받을 수 있습니다. 해당내용을 자세히 설명하진 않겠습니다.

 

해당 포스팅은 수명주기에 관한 내용이니. 위의 새로운 방법으로 수명주기를 확인 해 보겠습니다.

 

1. 메인액티비티 -> 서브액티비티

화면 SubActivity

 

MainActivity 수명주기

onPause

    ↓

onStop

 

SubActivity 수명주기

onCreate

    ↓

onStart

    ↓

onResume

 

 

 

2. 서브액티비티 -> 메인액티비티

화면 MainActivity

 

 

SubActivity 수명주기

onPause

    ↓

onStop

    ↓

onDestroy

 

 

 

 

 

 

MainActivity 수명주기

onRestart

    ↓

onStart

    ↓

onActivityResult

    ↓

onResume

 

위와같은 수명주기를 확인할 수 있습니다. 

앱을 backGround 상태에서 다시 켜지는 상황과 액티비티의 이동 후 재진입 상황에서 onResume() 오버라이드 메소드가 항상 호출되는것을 확인할 수 있었습니다.

위의 상황은 많이 발생하는 상황이니 기억해두면 좋을 것 같습니다.

 

읽어주셔서 감사합니다.

'android' 카테고리의 다른 글

android intent bundle  (0) 2021.07.22
android launchMode  (0) 2021.07.13
android Dagger  (0) 2021.06.09
mvvm + dagger  (0) 2021.06.07
android AAC LiveData - switchMap, map  (0) 2021.05.28