2012-03-14 2 views
2

라이프 사이클 메소드 및 onSaveInstanceState()를 이해하려고합니다.라이프 사이클 메소드 및 onSaveInstanceState()

필자는 실제로 필요한 작업을 설정하는 onCreate()와 나중에 복원 할 영구 저장소에 내 자신의 데이터 사본을 저장해야하는 onPause()에 대해 걱정할 필요가있는 것은 맞습니까? onCreate()에서?

Can/onSaveInstanceState()를 무시해야하나요? 일부 샘플은 데이터를 번들에 추가하지만 데이터를 저장하여 다른 곳의 저장 장치에 저장하는 경우 왜이 작업을 수행할까요?

이안

+0

비슷한 문제로 고생하고 http://stackoverflow.com/questions/8784610/onsaveinstancestate-and-onpause-call-sequence를 찾았습니다. takeway는 onSaveInstanceState가 (안드로이드 의사가 말하는 것과 같은) 안심이지만 onPause() 콜백은 onSaveInstanceState(). put()으로 상태를 저장한다는 것입니다. 응용 프로그램에서 활동을 재 작성해야하는 경우 onCreate()는 onPause()에서 시작된 것으로 알고있는 onSaveInstanceState(). get()에서 그렇게 할 수 있습니다. –

답변

1

onSaveInstanceState()는가 활동 이동 중지()에 갈 때 상태를 저장하고 onRetrieveInstanceState() 또는 에서 onCreate를 사용하는 데 사용됩니다() 이전 상태를 얻을 수 있습니다.

그러나 앱이 백그라운드에서 종료 된 경우 상태를 유지 관리 할 수 ​​없습니다. 이러한 시나리오에서는 공유 기본 설정이 이보다 낫습니다.

+0

데이터베이스 또는 ContentProvider를 사용하여 데이터를 유지할 수도 있습니다. – louielouie

+0

고마워요.하지만 질문에 대답하지 않습니다. 1. onCreate 및 OnPause를 제외한 다른 방법으로 내 데이터를 저장하는 코드가 필요합니까? 2. 어떤 상황에서 SaveInstanceState 번들에 데이터를 추가해야합니까? 하지만 답장을 보내 주셔서 감사합니다. – Ian