android - 与 passthrough 相比,binderised hidl 的优势是什么?

标签 android android-source hal

在 android 中,与 passthrough hidl 相比,binderised hidl 有什么优势?

据我所知,有两种 hidl 方式(绑定(bind)方式(独立进程中的客户端/服务器),直通方式(同一进程中的客户端/服务器)。 Binderised方式与passthrough方式相比有什么优势?

我认为绑定(bind)方式比直通有更多的开销,因为绑定(bind)方式需要使用绑定(bind)通信(RPC)。

vendor为什么要使用binderised的方式?

最佳答案

binderized 表示您的服务通过 /dev/hwbinder 提供并托管在单独的进程中。这允许它拥有对硬件资源的独占访问权,并且仍然同时为多个客户端提供服务。

passthrough 表示您的服务是通过共享库中的 C++ 接口(interface)提供的。这通常意味着只有一个客户端可以链接到它,或者服务必须以不需要独占访问硬件的方式实现。好处是您可以节省使用 Binder 的通信开销。

您通常会使用绑定(bind)化 HAL,因为 Binder RPC 开销非常小(小于框架 Binder 和 AIDL)。

有一个 HAL 列表 need to be implemented in passthrough模式(出于性能原因),以及 need to be implemented in binderized 的 HAL 列表模式。

关于android - 与 passthrough 相比,binderised hidl 的优势是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54394257/

相关文章:

java - Traverson 的 Android spring HATEOAS REST API 客户端支持

Android Camera2图像处理: What is Geometric Correction?

java - 如何限制 ItemtouchHelper 只能从左向右滑动

android - 将 Application 或 ApplicationContext 传递给 ViewModel?

android-source - 预安装一些应用程序,以便用户无需 root 即可卸载它们

android - 在 AOSP Android.mk 文件中,如何执行命令并在命令失败时使构建失败?

java - 获取查询字符串值 JAVA

android - DeepLinking 可以工作,但无法使用 react 导航导航到预期屏幕

Android Studio 汽车 API

cocoa - HAL - 如何监控 Mac 上的音频输出