질문

2011-02-09 3 views
0

한다고 가정 루트 활동은 활동의 B를 시작하고, 다음 활동 B는 C를 그리고 현재 작업 스택 A는, B, C.질문

이제 시스템 메모리가 부족 가지고 가정이 포함되어 활동을 시작한다 그리고 OS가 활동 B를 죽였습니다. 그 후, 사용자가 활동 C를 종료하기 위해 키를 눌렀습니다. 제 질문은 활동 C가 종료 된 후 활동 B가 재생성되어 나타나거나 활동 A가 나타납니다.

감사합니다.

답변

1

활동 B가 finish()를 호출하지 않으면 다시 표시되어야합니다.

+0

OS가 활동 B를 종료하면 OS가 B의 finish()를 호출합니까? 나는 그렇게 할 것이라고 생각한다. 어떻게 생각해? – Kai

+0

OS는이 모든 것을 사용자가 완전히 볼 수 없게하려고하므로 B 액티비티가 다시 작동 할 것으로 예상됩니다. OS가 finish() 메소드를 호출하는지는 모르겠지만 호출하지 않으면 모든 것이 잘 작동합니다. – CaseyB

+0

@ 카이 - 아니요. 포어 그라운드에 다른 액티비티가 오면, 당신의 액티비티의'onPause()'메쏘드가 호출됩니다. 그런 다음 시스템에서 리소스가 필요하다고 판단하면 코드를 더 이상 호출하지 않고 활동의 프로세스를 종료합니다. 팔. [Activity lifecycle] (http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle)의 문서는 좋은 읽을 거리입니다. –