내 Android 앱에서 앱이 백그라운드로 이동할 때 onSaveInstanceState()가 항상 호출됩니다. OS가 앱을 종료 할 때 onSaveInstanceState()가 호출된다는 사실을 이해했습니다. 이것을 고려하여 나는 약간의 논리를 설계했다. 하지만, 구현하는 동안이 이상한 행동을 발견했습니다. onSaveInstanceState()를 구별하는 방법은 OS가 응용 프로그램을 종료 한 후 호출되거나 정상적인 일시 중지시 호출되는 것입니다. 문서에 따르면onSauseInstanceState가 onPause 이후에 호출하는 이유
0
A
답변
1
: 그것은 미래에 다시 시간이 올 때 그것의 상태를 복원 할 수 있도록
이 방법은 활동 전에 호출되어 사망 할 수 수 있습니다.
즉,이 방법은 활동이 OS에 의해 종료되기 직전에 호출되지 않습니다. 액티비티가 백그라운드로 들어가서 나중에 복원 될 가능성이있을 때 호출됩니다. 액티비티가 백그라운드로 들어가기 직전에 상태를 저장하면 시스템이 애플리케이션을 죽이는 방법을보다 유연하게 할 수 있습니다. 일단 애플리케이션이 종료되었다고 결정하면 즉시 그렇게 할 수 있습니다 (즉, 호출에 대해 걱정할 필요가 없습니다. 그렇게하기 전에 응용 프로그램의 onSaveInstanceState()
메서드).
0
0
onSavedInstanceState() 활동이 일시 정지되기 전에 호출 된 후 발생 여부에 대한 보장이 없습니다가 (이 '외설 t 가시). 활동이 의도적으로 파괴 된 경우 (예 : 사용자가 백 스페이스를 누름) onSavedInstanceState()가 호출되지 않습니다. onSavedInstanceState()의 주요 역할은보기를 보존하는 것입니다.
짧은 대답 : 아니오, 할 수 없습니다.
자세한 내용은 this을 참조하십시오. 그것은 단편에도 사용할 수 있습니다.
관련 문제
- 1. ExecutorService가 onPause() 이후에 실행되지 않습니다.
- 2. onPause 이후에 트랜잭션을 커밋하는 대신
- 3. onPause() 이후에 onDestroy() 호출을 방지하는 방법은 무엇입니까?
- 4. onStop() 이후에 Android onPause()가 호출되었습니다.
- 5. onPause() 메서드에서 GC를 호출하는 것이 좋습니까?
- 6. onPause android application
- 7. relaodData가 viewDidLoad를 호출하는 이유
- 8. 처리기 postDelayed after onPause
- 9. onPause 메서드가 호출되지 않습니다
- 10. List :: push_back() 이후에 객체가 변경되는 이유
- 11. struts1 session.invalidate() 이후에 세션이 null이 아닌 이유
- 12. link_to 이후에 다른 파일에서 호출하는 방법
- 13. onPause() : SuperNotCalledException
- 14. SuperNotCalledExeption onPause()
- 15. onPause() 후에 onDestroy()가 호출됩니다.
- 16. 개체 안에 함수를 호출하는 데 "this"가 필요한 이유 이유
- 17. onPause-onResume 후 빈 화면
- 18. C++에서 명시 적으로 생성자를 호출하는 이유
- 19. 내 휴식 시간이 이전 함수를 호출하는 이유
- 20. LDAP 객체를 객체 클래스로 호출하는 이유
- 21. supportedInterfaceOrientations가 ios6에서 여러 번 호출하는 이유
- 22. 메서드를 호출하는 동안 키워드를 사용해야하는 이유
- 23. 클릭 이벤트가 jquery에서 두 번 호출하는 이유
- 24. Android : Activity.onPause() 이후에 click 이벤트
- 25. android thread management onPause
- 26. OnPause GPS를 중지합니다.
- 27. onPause 후 단편 추가
- 28. onPause 후에 AsyncTasks는 어떻게됩니까?
- 29. Android - onPause 및 WidgetLocker
- 30. onPause()에서 IntentFiler 사용
이론이 괜찮아 보입니다. 그러나 실용적인 onSaveInstanceState()는 모든 일시 정지시 호출됩니다. – Ammar
바로 그 이유는 내 대답에서 말하려고하는 이유입니다. :) 시스템이 실제로 앱을 죽이기 직전에 호출되지 않습니다. 'onSaveInstanceState()'는 시스템이 나중에 앱을 죽이는 경우 앱이 백그라운드로 들어갈 때 즉시 호출됩니다. –
따라서'onSaveInstanceState()'에서 우리는 OS가 정상적인 일시 정지인지 앱을 죽일지 알 수 없습니까? – Ammar