Android 개발자 가이드 의 Application Fundamentals 페이지에서 :
기본적으로 애플리케이션의 모든 활동은 서로에 대한 선호도를 갖습니다. 즉, 모두 동일한 작업에 속하도록 선호하는 것이 있습니다.
"singleInstance"활동은 작업에서 유일한 활동으로 단독으로 사용됩니다. 다른 활동을 시작하면 FLAG_ACTIVITY_NEW_TASK가 인 텐트에있는 것처럼 시작 모드에 관계없이 해당 활동이 다른 작업으로 시작됩니다. 다른 모든 측면에서 "singleInstance"모드는 "singleTask"와 동일합니다.
위에서 언급했듯이 "singleTask"또는 "singleInstance"활동의 인스턴스는 하나만 있으므로 해당 인스턴스는 모든 새 인 텐트를 처리 할 것으로 예상됩니다. "singleInstance"활동은 항상 스택의 맨 위에 있으므로 (작업의 유일한 활동이기 때문에) 항상 의도를 처리 할 수있는 위치에 있습니다. 그러나 "singleTask"활동은 스택에서 그 위에 다른 활동이있을 수도 있고 없을 수도 있습니다. 그렇다면 인 텐트를 처리 할 수있는 위치에 있지 않으며 인 텐트가 삭제됩니다. (인 텐트가 삭제 되더라도 그 도착으로 인해 작업이 포 그라운드로 오게되었을 것입니다.
두 시작 모드 중 하나의 활동 인스턴스가 하나만 있기 때문에 뒤로 버튼을 누르면 항상 기존 활동 인스턴스로 이동합니다.
중요한 차이점은 "singleTask"는 무언가가 선택 될 때 실행되는 새 활동에 대해 새 작업을 만들 필요가 없다는 것입니다. 매번 뒤로 버튼에서 새 작업을 제거 할 필요도 없습니다.
활동 스택은 모두 하나의 사용자 "작업"과 관련이 있고 singleInstance가 항상이를 처리하는 데 도움이 될 수있는 복잡한 의도 구조가있는 것처럼 들리지 않으므로 singleTask 시작 모드를 사용하는 것이 좋습니다.
다음은 더 많은 정보와 이미지에 대한 크레딧을 제공하는 좋은 블로그 게시물입니다. Android 활동 및 작업 시리즈 – Android의 UI 구성 요소 모델 소개