마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

액티비티가 종료되지 않는 사건 [closed]

0 추천
코드를 다 올리기에는 어디가 문제인지 정확히 모르겠는데, 어떤 액티비티에서는 finish(), onBackPressed()중 무엇을 써도 한 번에 안 가고 꼭 두번해야 가더군요. 그런데 그 액티비티에서 뒤로가기 혹은 만들어놓은 취소버튼을 누르기 전에 다른 기능을 실행시키면 되더군요.

 

예를 들어 체크박스가 있는 경우에는 체크박스를 클릭하기 전에는 한 번에 뒤로가기 안되고 두 번을 눌러야 하고 체크박스를 실행하면 한 번에 취소가 눌립니다. 혹은 다른 액티비티를 갔다 와도 한 번에 취소가 적용이 됩니다. 모든 액티비티에서 일괄적으로 적용되는 게 아니라 특정 액티비티에서만 그럽니다. 이유를 알 수 있을까요?

 

- 로그캣을 봐도 뭐가 뭔지 알 수 없어서 찾다 지쳐서 질문합니다.

- 에러는 안 납니다.그냥 특정 상황에서 뒤로가기를 두 번 눌러줘야 합니다.
질문을 종료한 이유: 라이프 스타일에 대한 조언 감사드립니다. FLAG활용해서 activity사이의 STACK활용해서 해결했습니다. onDestroy가 생각처럼 빨리빨리 올라오지 않는다는 문제가 있었군요
Ed (180 포인트) 님이 2020년 11월 23일 질문
Ed님이 2020년 12월 12일 closed
라이프사이클을 디버깅 해보세요.  onStart, onStop, onDestory가 어떻게 호출되시는지 확인해 보세요. 그리고 onDestroy, onBackPressed 같은 콜백을 오버라이드하셨다면, 이 부분들을 집중적으로 살펴보세요. 그리고 해당 액티비티를 띄울 때 AndroidMenifest.xml에서 액티비티의 모드나 intent flag가 제대로 설정되었는지 확인해 보세요.
쉬운 확인을 위해서 새로운 액티비티를 만들어서 아무런 옵션없이 띄울 때랑 문제가 있는 액티비티를 띄울 때랑 코드에 어떤 차이가 있는지 비교해 보세요. 문제가 있는 액티비티에서 코드를 다 주석처리하고 조금씩 주석을 풀어가면서 확인할 수도 있구요.
감사합니다. 하나씩확인해봐야겠네요
...