
지금 여기예요
4
829
바운드 서비스와 권한
서비스 생성
서비스 종료
서비스 바운드
바운드 서비스는
연결된 컴포넌트가
없으면 종료됩니다.
액티비티 같은 애플리케이션 컴포넌트가
서비스와 연결되었어요. 서비스는 대부분의
생명주기를 이 상태에서 소비해요.
이 시점에서는 더 이상
서비스가 존재하지 않아요.
시작된 서비스처럼 바운드 서비스가 생성되면
onCreate
()
메서드가 호출됩니다. 이전처럼 서비스를 설정하는 데 필요한 메서드를
오버라이드할 수 있습니다.
컴포넌트가 서비스와 연결하면
onBind
()
메서드가 실행됩니다.
이 메서드를 오버라이드해서
IBinder
객체를 연결된 컴포넌트로
반환하면 연결된 컴포넌트는
IBinder
객체를 이용해 서비스
레퍼런스를 얻을 수 있습니다.
모든 컴포넌트가 서비스와 연결이 끊어지면
onUnbind
()
메서드가
호출됩니다.
마지막으로 서비스와 연결된 컴포넌트가 없어서 서비스가 종료되기
직전에
onDestroy
()
메서드가 호출됩니다. 이전처럼
이 메서드에서 정리 작업과 리소스 해제 등을 수행할 수 있습니다.
다음 페이지에서는 이들 메서드와 서비스 상태의 관계를 더 자세히
살펴봅니다.
바운드 서비스의 상태
액티비티 같은 애플리케이션 컴포넌트가 서비스와 연결하면 서비스는
생성, 바운드, 종료 등 세 가지 상태로 이동합니다. 바운드 서 ...