binderized означает, что ваша услуга предоставляется через /dev/hwbinder
и размещается в отдельном процессе.Это позволяет ему иметь эксклюзивный доступ к аппаратному ресурсу и по-прежнему предлагать услугу нескольким клиентам одновременно.
passthrough означает, что ваша служба предоставляется через интерфейс C ++ в общей библиотеке.Обычно это означает, что только один клиент может связываться с ним, или услуга должна быть реализована таким образом, чтобы ей не требовался эксклюзивный доступ к оборудованию.Положительным моментом является то, что вы экономите накладные расходы на связь, используя Binder.
Обычно вы используете бинарные HAL, так как издержки Binder RPC действительно малы (меньше, чем в случае с Binder и AIDL
).
Существует список HAL, которые должны быть реализованы в режиме сквозного доступа (по соображениям производительности), и список HAL, которые должны быть реализованы в режиме с разделением на блоки.