从 AHAL adev_open 到 PAL XML 解析:30 微秒内的调用链追踪
1. 问题的引入
在分析 Android 音频系统启动日志时,我们经常会看到两条紧挨着的日志,时间间隔极其微小(本例中仅为 30 微秒):
02-11 10:35:14.248370 698 698 I AHAL: AudioDevice: adev_open 2650 ahal_log_lvl 0xf
02-11 10:35:14.248400 698 698 I PAL: ResourceManager: XmlParser: 10897: XML parsing started - file name /vendor/etc/card-defs.xml
02-11 10:35:14.251292 698 698 I PAL: ResourceManager: processDeviceIdProp: 9964: processDeviceIdProp find bus card BUS00_MEDIA bind to 124
02-11 10:35:14.251347 698 698 I PAL: ResourceManager: processDeviceIdProp: 9964: processDeviceIdProp find bus card BUS01_SYS_NOTIFICATION bind to 125
02-11 10:35:14.251371 698 698 I PAL: ResourceManager: processDeviceIdProp: 9964: processDeviceIdProp find bus card BUS02_NAV_GUIDANCE bind to 126
AHAL (Audio HAL) 刚说要 open,PAL (Platform Audio Layer) 紧接着就开始解析 XML 配置文件了。这中间到底发生了什么?是谁触发了 PAL 的加载?本文将通过源码深度揭秘。

