Activity의 onSaveInstanceState 호출 시기에 대한 설명
<span style="font-size:12px;">
</span>
<span style="font-size:12px;">Activity onSaveInstanceState , </span><span style="font-size:12px;">Activity , , , </span>
<span style="font-size:12px;"> 。</span>
<span style="font-size:12px;"> :android-sdk-windows-1.5_r3/docs/reference/android/app/Activity.html#onSaveInstanceState(android.os.Bundle)</span>
protected void onSaveInstanceState (Bundle outState)
Called to retrieve per-instance state from an activity before being killed so that the state can be restored in onCreate(Bundle) or onRestoreInstanceState(Bundle) (the Bundle populated by this method will be passed to both). This method is called before an activity may be killed so that when it comes back some time in the future it can restore its state. For example, if activity B is launched in front of activity A, and at some point activity A is killed to reclaim resources, activity A will have a chance to save the current state of its user interface via this method so that when the user returns to activity A, the state of the user interface can be restored via onCreate(Bundle) or onRestoreInstanceState(Bundle).
이 상태가 onCreate (Bundle) 나 onRestore InstanceState (Bundle) 에서 회복될 수 있도록 모든 실례를 저장하는 상태를 호출합니다.이 방법은 액티브가 죽기 전에 호출됩니다. 액티브가 장래 어느 순간에 돌아올 때 이전 상태를 회복할 수 있습니다.예를 들어 activity B가 활성화된 후에 activity A의 앞쪽에 있으면 어느 순간에 activity A가 시스템 회수 자원 문제로 죽는다. A는 onSaveInstanceState를 통해 사용자 인터페이스 상태를 저장할 수 있고 나중에 사용자가 activity A로 돌아갈 때 onCreate(Bundle)나 onRestoreInstanceState(Bundle)를 통해 인터페이스의 상태를 회복할 수 있다.
Do not confuse this method with activity lifecycle callbacks such as onPause(), which is always called when an activity is being placed in the background or on its way to destruction, or onStop() which is called before destruction. One example of when onPause() and onStop() is called and not this method is when a user navigates back from activity B to activity A: there is no need to call onSaveInstanceState(Bundle) on B because that particular instance will never be restored, so the system avoids calling it. An example when onPause() is called and not onSaveInstanceState(Bundle) is when activity B is launched in front of activity A: the system may avoid calling onSaveInstanceState(Bundle) on activity A if it isn't killed during the lifetime of B since the state of the user interface of A will stay intact.이 방법과 activity 생명주기 리셋을 onPause () 또는 onStop () 처럼 헷갈리지 마십시오. onPause () 는 activtiy가 배경에 놓여 있거나 스스로 소각될 때 항상 호출되고, onStop () 은activity가 소각될 때 호출됩니다.onPause () 와 onStop () 을 호출하지만, onSaveInstanceState를 터치하지 않는 예는 사용자가 activity B에서 activity A로 되돌아갈 때: B의 onSaveInstanceState (Bundle) 를 호출할 필요가 없습니다. 이 때의 B 사례는 영원히 회복되지 않기 때문에 시스템은 그것을 호출하지 않습니다.onPause () 를 호출하지만 onSaveInstanceState를 호출하지 않는 예는 activity B가 시작하고 activity A의 전단에 있는 것이다. 만약 B의 전체 생명 주기 동안 A의 사용자 인터페이스 상태가 파괴되지 않았다면 시스템은 activity A의 onSaveInstanceState (Bundle) 를 호출하지 않을 것이다. The default implementation takes care of most of the UI per-instance state for you by calling onSaveInstanceState() on each view in the hierarchy that has an id, and by saving the id of the currently focused view (all of which is restored by the default implementation of onRestoreInstanceState(Bundle)). If you override this method to save additional information not captured by each individual view, you will likely want to call through to the default implementation, otherwise be prepared to save all of the state of each view yourself. If called, this method will occur before onStop(). There are no guarantees about whether it will occur before or after onPause().
기본 구현은 대부분의 UI 실례 상태 (저장) 를 담당합니다. UI 층에 있는 모든 id를 가진view의 onSaveInstanceState () 를 호출하고 현재 초점을 받은view의 id를 저장합니다. (모든 저장된 상태 정보는 기본적인onRestoreInstanceState (Bundle) 구현에서 복구됩니다.)각view에 저장되지 않은 정보를 저장하기 위해 이 방법을 덮어쓰면, 기본 실행 과정에서 모든 보기의 모든 상태를 호출하거나 저장하려고 할 수도 있습니다.호출되면 이 방법은 onStop () 앞에서 터치되지만, 시스템에서는 onPause () 이전이나 이후에 터치될지 보장되지 않습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.