안드로이드 인텐트이동, 액티비티 생명주기 질문입니다!
조회수 2213회
A, B, C, D, E 라는 액티비티를 순서대로 실행한후 E에서 B로 인텐트 이동을 하며 "FLAG_ACTIVITY_CLEAR_TOP" 을 해주었습니다. 그럴경우 남아있는 액티비티는 A, B 일텐데 이때 B에 실행되는 메소드가 onStop() 상태에서 onRestart() 후 onStart()로 변경되는것이 맞나요?
그렇다면 다음 C액티비티를 실행해줬을때 C 액티비티의 onStart()가 아니라 onCreate() 가 실행되는게 맞는지 궁금합니다!
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
FLAG_ACTIVITY_CLEAR_TOP 의 속성을 사용해서 A > B > C > D > E 의 스택에서 B를 호출한다면 E, D, C의 순서로 제거되고 B 는 onCreate() 부터 다시 시작 하게 됩니다.
말씀하신 내용처럼, onRestart() > onStart() > onResume() 의 순서대로 실행하고 싶으시면, 아래 코드와 같이 FLAG_ACTIVITY_SINGLE_TOP 의 속성도 함께 사용해 주어야 합니다.
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력