마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Application Class는 Background에서도 유지되나요?

0 추천

앱의 전역변수등을 조금더 편하게 관리하고 공유하기위하여 Application Class를 이용하고 있습니다.

어디서나 접근이 가능하기 때문에 용이하게 사용하고있었는데요,

 

이게 background service 를 돌릴때 문제가 되네요.

 

자세히 인지하지 못하고있었는데

앱이 종료되고, Service만을 이용하여 Background 에서 돌아갈때는

정확하진 않지만 약 1~2시간 뒤엔 Application Class에 담긴 정보가 모두 사라져버립니다.

아마도 메모리에서 해제되는것이 아닌가 싶은데요.

 

그렇다면 Application Class는 앱이 살아있는 동안만 유지가 되는것인가요?

아니면 단순히 제가 코드를 잘못짜서 사라지는 걸까요?

 

저는 Service 역시 제가 만든 어플의 일부분이기 때문에 유지될거라 생각했는데,

일정시간이 지난후에는 정보를 모두 놔버리더라구요.

 

궁금합니다. 고수님들의.. 답변 부탁드립니다...^^

안드로이드로우 (15,740 포인트) 님이 2014년 10월 31일 질문

1개의 답변

+1 추천
 
채택된 답변
리소스가 부족하면 언제든 종료될 수 있습니다.

종료전에 callback 메쏘드가 호출될 것이고 재시작 시점에서 역시 callback 이 호출되구요.

각각의 메쏘드에서 상태 정보를 저장했다고 다시 복구하는 작업을 추가하셔야 합니다.
익명사용자 님이 2014년 10월 31일 답변
안드로이드로우님이 2014년 10월 31일 채택됨
답변 너무 감사합니다.^^
안그래도 Application 클래스에 대하여 찾아보고 있었는데요..
종료시에 onTerminate() 가 호출된다고는 하는데..
이게 확실히 보장된거는 또 아니라고 하네요 ㅠㅠ

서비스를 이용할때는 Application 클래스를 너무 믿지 말아야겠군요 ㅠㅠ
감사합니다. 좋은하루 되세용
...