2012-07-02 3 views
1

저는 주기적으로 서버에서 데이터를 가져 오는 앱을 개발하고 있습니다. 이제는 ScheduledThreadPoolExector를 사용하고 있지만 충분히 깨끗하지는 않습니다. 따라서 AlarmManager를 사용하여 주기적 작업을 작성하기로 결정했습니다.긴 백그라운드 작업을위한 BroadcastReceiver 또는 서비스?

이 작업에 더 좋은 것은 BroadcastReceiver 또는 Service입니까? 나는 이것들 중 하나가 10 초 제한을 가지고 있거나,이 둘 모두에이 제한이 있다는 것을 읽었습니다.

답변

1

실제로 BroadcastReceiver는 10 초만 살 수 있습니다. 서비스는 더 오래 살 수 있습니다 (Android OS에 리소스가 필요한 경우에 따라 앱을 종료 할 수 있습니다).

귀하의 서비스는 '정상적인'서비스 일 수도 있고 IntentService 일 수도 있습니다 (더 이상 인 텐트를 처리 할 수 ​​없게되면 자동으로 종료됩니다). IntentService를 권하고 싶습니다.

IntentService에서 수신 할 Intent를 작성하고이 Intent를 AlarmManager에 추가 할 수 있습니다.

+0

@PoweRoy가 언급했듯이,'AlarmService'에서 알림을 받기 위해'BroadcastReceiver'를 사용하고'Service'가 당신에게 장기간 작업을시켜야합니다. – herom

관련 문제