새 작업을 시작하면 현재 작업이 현재 작업의 백 스택으로 푸시됩니다. (플래그 및/또는 매니페스트를 통해이 동작을 변경할 수 있지만 이것이 기본 동작입니다.) 사용자가 back 함수를 누르면 맨 위 활동이 완료되고 스택이 팝됩니다. 결과적으로 사용자는 앱이 이전 활동으로 돌아가는 것을 확인합니다.
새로운 활동을 시작한 후에는 finish()
으로 전화해도됩니다. 결과는 현재 활동 (방금 스택을 시작하기 때문에 더 이상 스택의 맨 위에 있지 않음)이 스택에서 제거된다는 것입니다. 그런 다음 사용자가 뒤로를 누르면 뒤로 스택의 이전 활동으로 이동하거나 스택이 비어있는 경우 앱을 종료합니다.
활성 A와 B를 항상 새로 시작하여 finish()
을 호출하지 않고 앞뒤로 튀는 경우 스택이 각 활동의 인스턴스로 채워 지므로 OOM 예외가 발생할 수 있습니다.
자세한 내용은 가이드 항목 Tasks and Back Stack에서 확인할 수 있습니다. 또한 활동 간 순환을 올바르게 처리하는 방법을 설명합니다.
다시 버튼을 클릭하여 이전 활동으로 돌아가려면 어떻게해야합니까? – Raghunandan
아니요. 문제가 다른 곳에서 발생했습니다. – fdreger
어디서나'Bitmap' (또는 컬렉션)을 사용하고 있습니까? [mat memory analyzer tool] (http://www.eclipse.org/mat/)을 아직 사용하지 않았다면, 이제는 좋은 시간입니다. – haventchecked