Flutter

Platform Channels

MethodChannel, EventChannel, 네이티브 코드 통합, Android/iOS 네이티브 API, FFI

20 면접 질문·
Senior
1

Flutter에서 Platform Channel이란 무엇입니까?

답변

Platform Channel은 Flutter의 Dart 코드와 플랫폼의 네이티브 코드(Android/iOS) 사이의 양방향 통신 메커니즘입니다. 하드웨어 센서 접근, 네이티브 SDK 사용, 레거시 코드 통합 등 Flutter에서 사용할 수 없는 네이티브 API를 호출할 수 있게 해줍니다. 통신은 표준화된 바이너리 인코딩을 사용해 두 환경 간에 비동기 메시지를 전송합니다.

2

MethodChannel과 EventChannel의 주요 차이점은 무엇입니까?

답변

MethodChannel은 단일 응답을 가진 일회성 메서드 호출(요청/응답 패턴)을 가능하게 하며, 배터리 잔량 가져오기나 네이티브 함수 실행 같은 작업에 적합합니다. EventChannel은 네이티브 코드로부터 연속적인 데이터 스트림을 Dart Stream으로 받을 수 있어 GPS 업데이트, 센서 읽기, 시스템 알림 같은 반복적인 이벤트에 적합합니다.

3

MethodChannel에서 데이터를 직렬화할 때 기본적으로 사용되는 코덱은 무엇입니까?

답변

StandardMethodCodec은 MethodChannel이 사용하는 기본 코덱입니다. Dart와 네이티브 코드 사이에서 교환되는 값을 인코딩하고 디코딩하기 위해 StandardMessageCodec을 사용합니다. 이 코덱은 기본 타입(null, bool, int, double, String), 리스트, 맵을 지원합니다. 특정한 요구사항이 있을 경우 커스텀 코덱을 만들거나 JSON 직렬화를 위해 JSONMethodCodec을 사용할 수 있습니다.

4

Platform Channel에 고유한 이름을 정의하려면 어떻게 해야 합니까?

5

Android 네이티브 측에서 MethodChannel 호출은 어떤 스레드에서 수신됩니까?

+17 면접 질문

다음 면접을 위해 Flutter을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기