안녕하세요.^^


현재 구현할 부분은  하루에 약 10시간 이상 연속으로 사용자의 휴대폰에서 위치 정보를 서버로 전송하는 기능입니다.


예를들어 10초에 한번씩 위치정보를 서버로 전송하는 것입니다.


앱에서 로그인 인증 후  다음 페이지 Activity OnCreate() 부분에서 위치 정보를 수집하는 Thread를 실행 시켰습니다.


그리고 Thread 안에서 While(flag == true) loop로 flag 값이 변화 되기 전까지 계속 서버로 보냅니다.


사용자는 이 프로그램을 실행시키고 홈 버튼을 눌러 백그라운드에 돌게 하고 폰은 평소 처럼 사용 합니다.


그런데 여기서 발생하는 문제가 있습니다.


어플을 백그라운드로 돌리고 일정 시간이 지나면 Thread가 동작을 하지 않습니다. 


다시 백그라운드의 어플을 활성화 시키면 그 때 Activity가 다시 OnCreate() 되면서 Thread가 다시 동작합니다.


즉, 백그라운드에 있는 동안 동작하던 Thread가 OS로 인해 강제 종료 당한거 같습니다.


여기 저기 찾아보니 우선순위가 낮은 Thread같은 경우 언제든지 OS의 의해 종료 당할 수 있다고 하던데.. 그 상황인거 같기도 합니다.


그래서 Service를 이용해서 백그라운드로 다시 실행을 시킬려고 합니다.


그런데 어차피 Service로 실행하더라도 똑같은 내용의 Thread를 실행하는 것인데..  마찬가지로 종료 되지 않을까 싶습니다.


Service에서 실행한 Thread는 죽지 않고 계속 실행이 되는 건가요?



Thread를 10시간 이상 죽지 않고 계속 실행시킬 수 있는 방법은 없는건가요??


고수님들... 자비를 배풀어 주세요..ㅠㅠ