androidTSensorFramework
文章平均质量分 94
This section is used to explain the detailed implementation of the Sensor framework from Android T(13).
flagstaffChen
I would like to fuck the code when I‘m confuse.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AndroidT(13)--支持MultiHal 的 SensorHal 的初始化--HIDL(六)
这部分是SensorHal部分的二阶段初始化,不放在SensorDevice中一起,主要是想强调下这俩所在进程的不同。所以在程序调用流程上也不应该柔和在一起。看起来无缝调用,只不过Android中的binder在默默耕耘罢了。 initialize 接口是在 ISensors.hal 中定义的,意味着本次从SensorDevice调用到 HalProxyV2_0::initialize是跨进程的。 eventQueueDescriptor Fast Message Queue descriptor原创 2022-07-03 09:54:20 · 1724 阅读 · 2 评论 -
AndroidT(13)支持 SensorDevice中对SensorHal(HidlSensorHalWrapper)的初始化(五)
上一章详细的描述了SensorHal是如何启动的,其中包括了 SensorHal 相关类的实例化,从类关系上看还是比较复杂的,因为引入了各种包装类以兼容各种版本的SensorHal以及子SensorHal的支持,毫无疑问这部分也是属于SensorHal的初始化的。只不过在SensorHal启动后,SensorFrameork会明确调用SensorHal提供的initialize方法进行二阶段的初始化操作。二阶段的初始化让SensorHal有了灵魂,因为它明确了 EventQueue、wakelock以及原创 2022-07-03 09:51:05 · 1667 阅读 · 0 评论 -
AndroidT(13)--支持MultiHal 的 SensorHal启动--HIDL(四)
The Sensors Multi-HAL is a framework that allows sensors HALs to run alongside other sensor HALs. The Sensors Multi-HAL dynamically loads sensors sub-HALs stored as dynamic libraries on the vendor partition and gives them a callback object that can handl原创 2022-06-16 22:35:57 · 3855 阅读 · 0 评论 -
Android T(13)--SensorDevice 的初始化(三)
上一章提到过,SensorDevice如其名,用于管理Sensor的硬件操作,将SensorService和Sensor HAL很好的隔离开来。像Android这种需要大量人员同时维护的项目,通过适当的分层以及解耦让各个功能的开发可以并行进行,如此能提高开发效率和降低维的难度。 先放上整体的流程图,方便查看。去掉了一些细枝末节的部分。 SensorService中的部分 HardwareSensor是依赖硬件sensor的,所以对SensorHal的调用是不可避免,既然这部分被SensorDevi原创 2022-06-16 22:32:53 · 2565 阅读 · 3 评论 -
Android T(13)--Native 层的SensorService的启动(二)
前面提到过java SensorService的主要实现则是由native SensorService来完成的,而后者则是由前者启动的。这里java层和native层之间相互调用的技术则是通过JNI(JAVA Native Interface)来实现的。这种方式打破了java 语言跨平台的特性,但也因此获得了高性能的特性。 前面提到 SystemServer 是运行在system_server进程的虚拟机之中的,在虚拟机运行的时候JNI_OnLoad方法也会被运行,SensorService JNI的原创 2022-06-11 17:00:33 · 2489 阅读 · 2 评论 -
Android T(13)--java层的SensorService初始化(一)
sensorService的实现代码主要在native层,其是使用c++实现的。native sensorService 并没有作为独立的进程启动,而是由 java SensorService通过JNI代码拉起来的,而 java SensorService 则在 system_server 的虚拟机中运行。本章仅仅介绍 java SensorService的启动。 下面是对应的实现代码 mSystemServiceManager为类 SystemServiceManager 的实例,其类名和功能完原创 2022-06-11 16:57:07 · 1723 阅读 · 0 评论
分享