종료 버튼을 눌렀을 때
toast로 종료합니다. 문구를 띄우고
moveTaskToBack(true);
finish();
로 종료처리를 합니다.
moveTaskToBack로 백그라운드로 화면 전환을 하고 finish로 현재 액티비티를 종료함과 동시에
onDestroy()를 호출해서 마무리 작업을 하는데요..
가끔 문제가 발생합니다.
정상적으로 작동할 땐 ondestroy까지 호출되어서 종료가 되는데,
비정상적으로 작동할 땐 아래와 같습니다.
moveTaskToBack로 홈화면으로 전환되는데 앞서 띄운 toast가 사라지지 않습니다.
로그를 확인해보면 finish를 했지만 onDestroy가 호출되지 않구요..
로그캣을 확인해보니 거의 10초 뒤에 호출이 되네요..
거기서 시간이 더 지나야 toast가 사라지는데 이 상태에서 다시 앱을 실행하면
먹통상태가 되어버립니다.그냥 검은화면만 호출되네요.
맨처음 실행되는 intro쪽에 log를 찍었는데 보이지도 않고 앱이 응답하지 않는다고 출력됩니다.
강제종료를 하고나서 다시 실행해야 intro페이지에 정상적으로 접근합니다.
뭔가 꼬인거같은데, 원인을 정확히 모르겠습니다.
그리고 위의 문제와 연관이 있는건지..앱을 껐다가 재시작하면
인트로 화면을 스킵하고 메인화면부터 시작[종료할 때 메인화면에서 종료합니다]할 때도 있고,
앱이 2중으로 실행되어잇기도 합니다[종료햇는데 뒤에 또 앱이 떠있는 상태..]