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

백그라운드 데몬 서비스가 죽은 후 언제 다시 살아나나요?

0 추천

 

백그라운드 데몬 서비스 테스트를 위해 아래와 같이 만든 후 startService 호출했습니다. 그 후 

홈화면 들어가서 메모리 정리 프로그램 여러번 실행시키니

서비스가 종료되네요 => 종료 안되게 할수 없나요?

그리고 종료되었더라도, 제가 START_REDELIVER_INTENT 를 리턴하도록 해놓았으니

다시 살아나야 하는데, 1분 정도 기다려도 살아나지 않습니다. 언제 다시 살아나서 동작하나요?

 

public int onStartCommand(Intent intent, int flags, int startId) {
		super.onStartCommand(intent, flags, startId);
		System.out.println("onStartCommand");
		
		Thread myThread = new Thread( new Runnable()
		{
			public void run()
			{
				try
				{
					int i=0;
					while( true ) {
						i++;
						System.out.println("i: " + i);
						Thread.sleep(3000);
					}
				}
				catch ( Exception ioe )
				{					
					ioe.printStackTrace();
				}
				
			}
		});

		myThread.start();

		return START_REDELIVER_INTENT;
}

 

보고싶어요 (160 포인트) 님이 2014년 1월 16일 질문

1개의 답변

0 추천
외부적인 요인에 의해서 죽는 것이면 다시 살아나진 않습니다. 이를 위해서 아래와 같이 다시 살리는 트릭을 사용합니다.

http://karyurid.tistory.com/97

응용해보세요
aucd29 (218,390 포인트) 님이 2014년 1월 16일 답변
제가 올린 코드도 재시작하긴 했습니다. 1~10분 사이에 랜덤하게 재시작하는것 같던데..
답변 주신것처럼 곧바로 재시작하려면 알려주신 링크처럼 해야할것 같네요..
...