사례는 보통 각 앱별로 기획 단계에서 어떤 흐름으로(순서) 가느냐를 정의하고,
그에 맞게 움직이도록 해야하므로
사실 천차 만별이죠.
구글에서는 원래 system.exit 은 그 어느곳에서도 사용을 권하고 있지 않습니다. 사용하지 말라고하죠.(deprecate)
유저들이 구석에 박혀있는 함수 찾아서 구전되다보니 말이 돌고 도는 상황인데,
애초에 그 함수는 시스템 리소스가 정상적으로 해제되는 것도 아닙니다. 저의 기억으론.
프로세스 kill하고 같습니다. OS가 지속적으로 업데이트 되는 과정에서 내부에서 보강했다면 좀 달라지겠습니다만...
여튼, 원래 안드로이드 사용/UX 철학 관점에서는
앱은 상시 떠있고 앱을 다시 실행했을 때 마지막 상태로 복귀하는것이 기본이고
초기화 해야할 경우만 초기화를 하는 것이죠.
따라서 뒤로 가기 버튼은 자연스럽게 액티비티 스택을 조작해서 움직일 수 있도록 해주고,
가장 중요한 시점에서만 한 번 정도만 system.exit하는 정도여야하죠.