서비스를 등록시켜놓으면 프로그램으로 종료시켜도 다시 시작되는것 같던데.
서비스 등록후 실제폰에서 메모리 정리 프로그램을 돌리니까
메모리 정리 후 자동으로 다시 제가 등록해논 서비스가 실행이 되던데
원래 서비스 등록 시켜놓으면 메모리 정리 프로그램으로 정리후에 다시 자동 서비스가 시작되나요??
제가 서비스를 부팅할 때 서비스 등록하게 해놔서 메모리 정리 프로그램이 메모리 정리를 하면
booting 값이 재부팅 했을 때랑 같은 값이 들어와서 그런가.. 잘 모르겠습니다.
혹시 아시는분없나요.
1. 정상종료일 경우...
여기서 정상 종료란 "프로세스의 종료" 이후에 ACTION_PACKAGE_RESTART가 broadcast 되는 경우를 말합니다.
이런 경우는 절대로 시스템이 해당 서비스를 재시작 안합니다. 카카오톡 같은 경우는 꼼수로 다시 살리는거구요....
2. 비정상 종료일 경우...
여기서 정상 종료란 "프로세스의 종료" 이후에 ACTION_PACKAGE_RESTART가 broadcast 되지 않는 경우를 말합니다.
이런 경우는 서비스의 onStartCommand 의 return 값따라 달라집니다.
태스크킬러 프로그램의 경우 어떤건 정상 종료하기도 하고 어떤건 비정상 종료하기도 합니다. 종류마다 다르다는 뜻....
안드로이드에서 제공하는 서비스 관리는 정상종료를 하는것으로 알고 있습니다.
브로드캐스트를 받아서 이후에 서비스를 재시작하는 스케줄을 모두 날려버리기 때문인 것으로 알고 있습니다.
종료되는 서비스는 자신의 PACKAGE_RESTART 브로드캐스트를 받을수 없습니다.
저걸 가로채서 다시 살리는것은 그림의 떡이구요..
다시 살리는건 다른 꼼수입니다.