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

어플의 백그라운드실행에 관해서

0 추천
개발중인 어플을 백그라운드에서 돌리고싶습니다.

검색해보니 서비스를 이용하라는 답글들이 많던데 서비스를 이용해서 메인액티비티를 백그라운드에서

돌릴수있는건가요?

특정기능이 아니라 어플전체를 백그라운드에서 돌리고 싶습니다.
rktkwlak (130 포인트) 님이 2015년 9월 1일 질문

1개의 답변

+1 추천
서비스를 bind 시키지 않고, 액티비티에서 startService 호출로 서비스를 실행시키면

어플이 종료되어도 서비스는 백그라운드에서 동작합니다.

 

다만, 최초 서비스를 실행시키기 위한 첫 실행은 있어야합니다.

 

그리고 백그라운드에서 동작중인 서비스는

항상 리얼타임으로 동작하는게 아니라,

슬립으로 빠졌다가 깨어났다가를 반복합니다.

실제로 Runnable로 1초에 한번 서비스에서 작업을 반복하여 호출하면

몇초간은 잘 동작하다가 몇초~몇십초동안 멈추고, 다시 몇초동안 작동하고를 반복하더라구요

 

따라서 리얼타임으로 동작해야하는 서비스의 경우, 저는 알람을 만들어 특정 주기마다 서비스를 재호출 하여

onStartCommand가 호출되도록 하며 사용중입니다.

 

더 좋은 방법 있으면 공유 부탁드립니다.
음무 (17,820 포인트) 님이 2015년 9월 1일 답변
제가 백그라운드 서비스 이용해서 앱개발 경험이 있는데요
당시 슬립에 빠졋다 깨어낫다 하는 2차적인 문제보다
일반적인 종료나 비정상적인 종료가 발생할 경우 어떻게해야하나 생각해서
백그라운드가 죽으면 강제로 다시 살아나게 하는 방법을 썻는데
어쩃든 슬립햇다 깨어낫다 하지는 않더라구요..
혹시 이방법도 써보셧나요?
...