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

안드로이드 Service 생명주기 관련 질문입니다.

0 추천
onStartCommand()함수와 onDestroy()함수의 호출순서가 궁금합니다.

 

Activity에서 StartService로 호출한 상태에서 잘 동작하고 있습니다.

 

이 상황에서 Service에서 StopSelf()를 호출하게 되고, 그이후에 Service의 onDestroy()가 호출하기 전에

Activity에서 다시 StartService를 호출하면 어떻게 되나요?

 

1. onStartCommand()가 먼저 호출이 된 후에 바로 onDestroy()가 호출

2.onDestroy()가 먼저 호출이 된 후에 바로 onStartCommand()가 호출

 

두가지 경우가 있을거 같은데 두가지 경우가 다 나올수도 있나요?

아니면 무조건 stopSelf()가 호출되는 즉시 즉발로 onDestroy()가 호출이 되는건가요?
마피 (2,970 포인트) 님이 2014년 9월 23일 질문

1개의 답변

+1 추천
 
채택된 답변
서비스 인스턴스는 1개만 실행되고요.. 서비스가 살아있을 시 다시 startService 하면 onStartCommand()가 다시 호출됩니다.

http://developer.android.com/guide/components/services.html#StartingAService
노예의집 (23,370 포인트) 님이 2014년 9월 24일 답변
마피님이 2014년 9월 24일 채택됨
그러니깐 그 1개만 실행이 된다는걸 알고있는상황에서 묻는거에요. 만약 제가 적은 질문에서 1번처럼 작동이 되면 서비스는 종료되는거나 마찬가지인거고, 2번처럼 작동이 되면 서비스는 살아있게되는거라서 묻는거에요.
노예의집님이 거신 링크에 Stopping a service 항목을 보면 해당문제에 대한 내용이 잘 설명되어있네요
크 감사합니다... 링크도 안가보고 댓글을 막 달았었네요 ㅠㅠ 죄송해염
...