303
15
장
-
비동기 기술의 선택
장인
IntentService
를 사용할 수 있다. 이는 핸드오프 메커니즘과 결합하여 서비스의 생명주
기 및 프로세스 순위 면에서 이점이 있다. 인텐트 서비스의 강점은 단순함이다. 즉, 클라이언트
는 처리될 데이터와 함께 인텐트만 보내면 된다.
IntentService
는 여러 가지 이유로 순차적인 백그라운드 실행을 위한 좋은 선택 옵션이다.
●
간단한 사용법
●
프로세스 순위는 백그라운드 태스크가 너무 빨리 종료되는 위험을 줄인다.
●
다른 모든 안드로이드 구성요소와 연결할 수 있다.
브로드캐스트 리시버에서 비동기 실행이 필요한 경우, 인텐트 서비스는 가장 먼저 고려해볼 메
커니즘이다.
15.5
콘텐트 프로바이더에 쉽게 접근
AsyncQueryHandler
는
HandlerThread
(프로바이더가 스레드에 안전하게 접근하도록 보장해
준다)를 내장한 비동기
ContentProvider
접근자다.
AsyncQueryHandler
는 특별히 프로바이
더에서 전체
CRUD
연산을 처리하기 위해서 존재하며, 그 밖의 경우에는 유용하지 않다.
더 강력한 기능을 가진 프로바이더 데이터의 리더
reader
로
CursorLoader
가 있다.
CursorLoader
는 간단하고도 강력하며, 구현에 많은 노력을 필요로 하지 않는다. 또한 프로바이더와 연결되
어 콘텐츠를 관찰하고, 그 결과 새로운 데이터가 액티비티 또는 프래그먼트에 비동기적으로 로
드되어
UI
가 쉽게 업데이트될 수 있게 해준다.
커스텀 로더를 구현해야 하는 그 밖의 데