안녕하세요.
부팅부터 종료 까지 오랜시간 실행되어야 하는, 서비스로 동작하는 로깅 프로그램을 만들고 있습니다. 부팅시 receiver를 통해 서비스가 시작되고, 동적으로 여러 리시버들을 등록한다음, 종료시 shutdown receiver에서 db내용을 한번더 파일에 백업 기록합니다. application 객체는 onCreate()에서 db handler같은 전역적으로 사용하는 자원들을 할당하고 global state를 관리하고있습니다.
궁금한 점은 안드로이드 특성상 app이 시스템에의해 리소스부족 등으로 종료된 후, static receiver가 호출된다면 새 프로세스가 실행될 것이고 이 때 onReceive()가 호출되기전 application 객체도 다시 초기화되어 유효한 상태인가요? 구체적으로는 shutdown receiver입니다. 유효하다면 application객체를 싱글턴으로 만들어서 사용하려고 합니다.
요지는 application 객체를 singleton으로 만들어서 사용해도 항상 문제가 없는건가요?