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

어플의 시작과 끝에 관하여..

0 추천
finish() 로 액티비티를 종료

system.exit()였나? 그걸로 어플 종료 하면 어플이 사용하고 있는 모든 리소스가

반환된다고 알고 있습니다.

 

그런데.. 저 메소드들을 어떤 경우에 써야할까요?

현재 아무 생각없이 어플 개발중이긴 한데..

개인적인 생각은.. 화면이동 한 후에, 이전화면으로 돌아가서는 안될때? 의 경우에 finish로 종료시킬 거 같고...

메인 액티비티에서 뒤로가기 버튼 눌렀을때 혹은 종료라는 별도의 버튼이 클릭되었을때 어플을 종료하는 exit()를 사용할 거 같은데..

어떻게들 적절히 사용하시는지 사례들이 궁금합니다..
치솟음 (3,710 포인트) 님이 2015년 4월 30일 질문

1개의 답변

0 추천
사례는 보통 각 앱별로 기획 단계에서 어떤 흐름으로(순서) 가느냐를 정의하고,

그에 맞게 움직이도록 해야하므로

사실 천차 만별이죠.

구글에서는 원래 system.exit 은 그 어느곳에서도 사용을 권하고 있지 않습니다. 사용하지 말라고하죠.(deprecate)

유저들이 구석에 박혀있는 함수 찾아서 구전되다보니 말이 돌고 도는 상황인데,

애초에 그 함수는 시스템 리소스가 정상적으로 해제되는 것도 아닙니다. 저의 기억으론.

프로세스 kill하고 같습니다. OS가 지속적으로 업데이트 되는 과정에서 내부에서 보강했다면 좀 달라지겠습니다만...

 

 여튼, 원래 안드로이드 사용/UX 철학 관점에서는

앱은 상시 떠있고 앱을 다시 실행했을 때 마지막 상태로 복귀하는것이 기본이고

초기화 해야할 경우만 초기화를 하는 것이죠.

따라서 뒤로 가기 버튼은 자연스럽게 액티비티 스택을 조작해서 움직일 수 있도록 해주고,

가장 중요한 시점에서만 한 번 정도만 system.exit하는 정도여야하죠.
익명사용자 님이 2015년 4월 30일 답변
...