서비스를 bind 시키지 않고, 액티비티에서 startService 호출로 서비스를 실행시키면
어플이 종료되어도 서비스는 백그라운드에서 동작합니다.
다만, 최초 서비스를 실행시키기 위한 첫 실행은 있어야합니다.
그리고 백그라운드에서 동작중인 서비스는
항상 리얼타임으로 동작하는게 아니라,
슬립으로 빠졌다가 깨어났다가를 반복합니다.
실제로 Runnable로 1초에 한번 서비스에서 작업을 반복하여 호출하면
몇초간은 잘 동작하다가 몇초~몇십초동안 멈추고, 다시 몇초동안 작동하고를 반복하더라구요
따라서 리얼타임으로 동작해야하는 서비스의 경우, 저는 알람을 만들어 특정 주기마다 서비스를 재호출 하여
onStartCommand가 호출되도록 하며 사용중입니다.
더 좋은 방법 있으면 공유 부탁드립니다.