Flutter

Platform Channels

MethodChannel, EventChannel, native code integration, Android/iOS native APIs, FFI

20 面接問題·
Senior
1

What is a Platform Channel in Flutter?

回答

A Platform Channel is a bidirectional communication mechanism between Flutter's Dart code and native platform code (Android/iOS). It enables calling native APIs unavailable in Flutter, such as accessing hardware sensors, using native SDKs, or integrating legacy code. Communication uses standardized binary encoding to transmit asynchronous messages between both environments.

2

What is the main difference between MethodChannel and EventChannel?

回答

MethodChannel enables single method calls with a single response (request/response pattern), ideal for operations like getting battery level or executing a native function. EventChannel allows receiving a continuous data stream from native code as a Dart Stream, perfect for recurring events like GPS updates, sensor readings, or system notifications.

3

What codec is used by default to serialize data in a MethodChannel?

回答

StandardMethodCodec is the default codec used by MethodChannel. It uses StandardMessageCodec to encode and decode values exchanged between Dart and native code. This codec supports primitive types (null, bool, int, double, String), lists, and maps. For specific needs, custom codecs can be created or JSONMethodCodec can be used for JSON serialization.

4

How to define a unique name for a Platform Channel?

5

On which thread are MethodChannel calls received on the Android native side?

+17 面接問題

次の面接に向けてFlutterをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める