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

static broadcast reciver가 실행될 때 항상 singleton application이 유효하다고 볼수 있나요?

0 추천
안녕하세요.

부팅부터 종료 까지 오랜시간 실행되어야 하는, 서비스로 동작하는 로깅 프로그램을 만들고 있습니다. 부팅시 receiver를 통해 서비스가 시작되고, 동적으로 여러 리시버들을 등록한다음, 종료시 shutdown receiver에서 db내용을 한번더 파일에 백업 기록합니다. application 객체는 onCreate()에서 db handler같은 전역적으로 사용하는 자원들을 할당하고 global state를 관리하고있습니다.

궁금한 점은 안드로이드 특성상 app이 시스템에의해 리소스부족 등으로 종료된 후, static receiver가 호출된다면 새 프로세스가 실행될 것이고 이 때 onReceive()가 호출되기전 application 객체도 다시 초기화되어 유효한 상태인가요? 구체적으로는 shutdown receiver입니다. 유효하다면 application객체를 싱글턴으로 만들어서 사용하려고 합니다.

요지는 application 객체를 singleton으로 만들어서 사용해도 항상 문제가 없는건가요?
익명사용자 님이 2015년 4월 24일 질문

1개의 답변

0 추천
강제 종료 되었다고 하여도 싱글론 객채를 다시 생성 할 것이자나요

 

문제없죠
익명사용자 님이 2015년 4월 24일 답변
application 객체는 제가 직접만드는게 아니다보니 확신이 안서네요.
getApplication() 과 getApplicationContext()가 다를 수 있다고하고,
아무 context에서나 getApplication()을 제공하지 않는 이유가 있을것 같은데 아직 개념이 덜잡혔네요 ㅠㅠ
...