2010-11-26 3 views
0

응용 프로그램을 백그라운드에서 약 12 ​​시간 동안 그대로두면 모든 정적 변수가 지워지고 응용 프로그램이 중단됩니다.왜 앱이 오랜 시간 백그라운드에서 백그라운드로 작동 할 때 안드로이드 애플리케이션의 모든 정적 변수가 파괴됩니까?

왜 이런 일이 발생합니까?

응용 프로그램이 종료 될 때까지 절대로 손상되지 않는 응용 프로그램 수준 (범위) 변수를 유지하는 올바른 방법은 무엇입니까? 사전에

감사합니다, 아프

답변

0

응용 프로그램이 분명히 파괴됩니다. 다시 시작된 상황을 고려해야합니다.

+0

그러나 마지막으로 표시된 것과 동일한 활동에서 다시 시작됩니다. 주 활동을 시작하지 않습니다. 그리고 백그라운드 (HTTP 호출 20 분마다)에서 일부 작업을 수행하므로이 작업도 중지됩니다. – Afzal

0

Android가 앱을 메모리에 보관하기에는 12 시간이 너무 길다고 생각합니다. 이 시간에는 아마도 Android에서 파괴 된 것처럼 보이는 앱이있을 것입니다.

따라서 가장 좋은 방법은 상태/데이터를 데이터베이스 onDestroy()에 저장하는 것입니다. Android의 Component Cycle을보세요.

1

응용 프로그램이 시스템에 의해 손상 될 수 있으므로 응용 프로그램의 상태를 onSaveInstanceStateonRestoreInstanceState 메커니즘을 사용하여 유지해야합니다.

관련 문제