응용 프로그램을 백그라운드에서 약 12 시간 동안 그대로두면 모든 정적 변수가 지워지고 응용 프로그램이 중단됩니다.왜 앱이 오랜 시간 백그라운드에서 백그라운드로 작동 할 때 안드로이드 애플리케이션의 모든 정적 변수가 파괴됩니까?
왜 이런 일이 발생합니까?
응용 프로그램이 종료 될 때까지 절대로 손상되지 않는 응용 프로그램 수준 (범위) 변수를 유지하는 올바른 방법은 무엇입니까? 사전에
감사합니다, 아프
응용 프로그램을 백그라운드에서 약 12 시간 동안 그대로두면 모든 정적 변수가 지워지고 응용 프로그램이 중단됩니다.왜 앱이 오랜 시간 백그라운드에서 백그라운드로 작동 할 때 안드로이드 애플리케이션의 모든 정적 변수가 파괴됩니까?
왜 이런 일이 발생합니까?
응용 프로그램이 종료 될 때까지 절대로 손상되지 않는 응용 프로그램 수준 (범위) 변수를 유지하는 올바른 방법은 무엇입니까? 사전에
감사합니다, 아프
응용 프로그램이 분명히 파괴됩니다. 다시 시작된 상황을 고려해야합니다.
Android가 앱을 메모리에 보관하기에는 12 시간이 너무 길다고 생각합니다. 이 시간에는 아마도 Android에서 파괴 된 것처럼 보이는 앱이있을 것입니다.
따라서 가장 좋은 방법은 상태/데이터를 데이터베이스 onDestroy()에 저장하는 것입니다. Android의 Component Cycle을보세요.
응용 프로그램이 시스템에 의해 손상 될 수 있으므로 응용 프로그램의 상태를 onSaveInstanceState
onRestoreInstanceState
메커니즘을 사용하여 유지해야합니다.
그러나 마지막으로 표시된 것과 동일한 활동에서 다시 시작됩니다. 주 활동을 시작하지 않습니다. 그리고 백그라운드 (HTTP 호출 20 분마다)에서 일부 작업을 수행하므로이 작업도 중지됩니다. – Afzal