Выбор ответа Middle Платформенные каналы обновлено
Flutter: EventChannel
Вопрос
Какой канал подходит для непрерывного потока данных с датчика пульса?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: EventChannel: Stream в Dart и EventSink на платформе. EventChannel создан для потоков: подписка в Dart вызывает onListen у нативного StreamHandler, отмена вызывает onCancel.
Варианты ответа
MethodChannelс вызовом каждые 100 мс по таймеру, это проще и надёжнееBasicMessageChannelс одним сообщением, которое платформа будет обновлять- Канал не нужен: датчики доступны из Dart напрямую через
dart:io EventChannel:Streamв Dart иEventSinkна платформеправильный ответ
Разбор
EventChannel создан для потоков: подписка в Dart вызывает onListen у нативного StreamHandler, отмена вызывает onCancel. Опрос по таймеру тратит батарею и даёт задержку. BasicMessageChannel подходит для произвольного обмена сообщениями, но не даёт удобного Stream с подпиской и отменой. Датчики без нативного кода не доступны.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.