안드로이드 인텐트이동, 액티비티 생명주기 질문입니다!


A, B, C, D, E 라는 액티비티를 순서대로 실행한후 E에서 B로 인텐트 이동을 하며 "FLAG_ACTIVITY_CLEAR_TOP" 을 해주었습니다. 그럴경우 남아있는 액티비티는 A, B 일텐데 이때 B에 실행되는 메소드가 onStop() 상태에서 onRestart() 후 onStart()로 변경되는것이 맞나요?

그렇다면 다음 C액티비티를 실행해줬을때 C 액티비티의 onStart()가 아니라 onCreate() 가 실행되는게 맞는지 궁금합니다!

  • 2016년 05월 10일에 작성됨
    프로그래밍에 관심이 많습니다

조회수 296


1 답변


좋아요
4
싫어요
채택취소하기

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);
  • 2016년 05월 10일에 작성됨
    노바입니다. 개발 잘하고 싶어요.

  • 좋은 답변 감사합니다!    COF2E2   2016.5.10 20:24     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close