2012-12-21 1 views
0

안드로이드 설명서는 Tasks and Back Stack에 대한 겉으로보기에는 철저한 설명을 제공하지만 다음 질문에 대한 답을 찾을 수 없습니다. 작업 (이전에 시스템에 의해 종료 됨)이 어느 순서로 복원 (재 작성) 될 때 다시 전경이되다.활동 스택을 복원하는 데 사용되는 순서는 무엇입니까?

작업 활동 A를 가지고 예를 들어, -> B -> C 및 백그라운드에서 살해 한 후 사용자는 onCreate의 순서가 될 것입니다 무엇으로 다시 전환 할 때와 onRestoreInstanceState 이벤트는 모든 활동에 호출 열? A가 B보다 먼저 완전히 복원되고 B가 C보다 완전히 복원되었음을 당연시 할 수 있습니까?

Google Play의 오류 로그에서 질문이 발생합니다. 이로 인해 하위 활동 호출 중 주 활동이 아직 복원되지 않은 것으로 의심됩니다.

답변

0

일부 테스트를 기반으로 한 간단한 (자체) 답변으로, 활동 복원 순서가 스택의 위에서 아래로, 즉 활동의 초기 순서의 역순으로보고합니다 생성되었습니다. 질문의 예에서 계속하면 C -> B -> A가 될 것입니다.

가장 중요한 것은 전체 스택이 아닌 최상위 작업 만 즉시 복원된다는 것입니다 (더 직관적 일 것입니다). 일관된, imho). 사용자가 최고 활동을 종료하고 다음 활동이 새로운 상위 활동이 될 예정일 때만 그 단일 활동이 복원됩니다.

각 액티비티 onCreate들의 시퀀스 onStart, onRestoreInstanceState는 문서 부착 행한다.

관련 문제