본문 바로가기
Android

인사이드 안드로이드 09 네이티브 시스템 서비스 분석

by OKOK 2021. 5. 18.

안드로이드에서는 디바이스 노드의 접근 권한을 리눅스 유저나 그룹으로 설정하는 것 외에 앱에서 디바이스를 사용하려면 그에 해당하는 권한을 명시적으로 부여하도록 하고 있음. callback을 상속받아 인터페이스를 구현하는 이유는 앱에서는 서페이스에 직접 접근할 수 없고 서페이스홀더를 통해 서페이스에 대한 처리를 하기 때문임. 서페이스가 생성되거나 소멸, 또는 속성이 변경되면 surfaceholder.callback 인터페이스의 메서드가 호출되고, 이를 구현한 Preview의 메서드가 호출됨. 카메라 인스턴스를 얻는다. 

 

9.3 카메라 서비스 프레임워크

 

9.5 정리

1. 서페이스를 생성할 때 카메라 서비스와 연결함

2. 서페이스의 속성이 변경되면 카메라 디바이스의 설정과 미리 보기가 시작됨

3. 서페이스가 소멸되면 미리 보기를 중지하고 카메라 서비스와의 연결을 해제함

 

카메라 서비스 프레임워크의 구조와 동작

1. ICameraService 인터페이스의 바인더 RPC를 이용한 카메라 서비스 연결 과정

2. ICamera 인터페이스의 바인더 RPC를 이용한 카메라 디바이스 설정 및 제어

3. ICameraClient 인터페이스의 바인더 RPC를 이용한 카메라 디바이스의 이벤트 처리

댓글