2017-04-23 5 views
1

IntentService를 하위 클래스로 만들고 LocationListener를 구현하는 클래스를 만들면이 클래스의 모든 메서드가 작업자 스레드에서 실행됩니까? 또는 onHandleIntent() 메서드 만 작업자 스레드에서 실행됩니까?모든 메서드가 작업자 스레드에서 실행됩니까?

+2

onHandleIntent ... IntentService만으로는 좋은 선택이 아닙니다 ... 먼저 LocationListener로 작업하는 다른 스레드가 필요 없습니다. 둘째, IntentService는 작업자 스레드의 한 번 작업입니다. – Selvin

+0

답변을 주셔서 감사합니다. @ 셀빈. 작업 스레드에서 서비스의 모든 메소드를 실행할 수있는 방법을 알고 있습니까? –

+0

첫 번째 질문은 무엇을위한 것인가? ....하지만 당신이 wana를하면 그것은 새로운 스레드를 시작합니다. – Selvin

답변

0

메소드가 실행되는 위치의 정의는 호출되는 위치와 정의 된 클래스가 아닌 위치에 의해 정의됩니다.

onHandleIntent 메서드는 WorkerThread에서 호출되므로 onHandleIntent에서 메서드를 호출하면 WorkerThread에서 실행됩니다.

UI 스레드에서 직접 서비스의 메서드를 호출하면이 메서드는 UI 스레드에서 실행됩니다.

관련 문제