音频调试技巧分享:mediametrics::LogItem相关日志如何查看?

背景:

在做音频系统相关开发过程中经常会看到一些方法中有mediametrics相关的日志打印,而且很多方法都有这个打印,频繁分布在各个方法中:
在这里插入图片描述
上面代码就是AudioTrack在创建过程中 AudioTrack::createTrack_l()方法中的mediametrics的日志打印,其实可以看得出这个mediametrics日志打印还很详细,AudioTrack创建时候需要的相关属性和参数都有,但是这个日志打印也不是我们普通的ALOGE这种,直接使用adb logcat可以看到。

那么具体应该怎么看这个mediametrics相关打印呢?

metrics相关日志查看方式:

其实这个mediametrics日志最后一般/MediaMetricsService进行统一管理,所以也有一个专门的服务来负责这块的mediametrics日志管理输出,一般使用dumpsys media.metrics命令。

可以先看看这个dumpsys media.metrics命令的使用帮助:
dumpsys media.metrics --help

gemini:/ $ dumpsys media.metrics --help                                                                                                                                                                   
Recognized parameters:
--all         show all records
--clear       clear out saved records
--heap        show heap usage (top 100)
--help        display help
--prefix X    process records for component X #可以用来过滤
--since X     X < 0: records from -X seconds in the past
              X = 0: ignore
              X > 0: records from X seconds since Unix epoch
--unreachable show unreachable memory (leaks)

实战使用结果如下:

在这里插入图片描述

如果直接使用dumpsys media.metrics那么就相当于–all,会打印所有的输出内容,内容会很多。所以一般比较建议使用–prefix X,这里X可以认为是一直日志的过滤,比如你只需要audiotrack相关记录,就使用audio.track。

假设我们只需要看打印audiotrack相关输出

adb shell dumpsys media.metrics --prefix audio.volume

在这里插入图片描述可以看出每个AudioTrack相关的操作记录都非常详细,具体大家想和代码对照看可以去
frameworks/av/media/libaudioclient/AudioTrack.cpp
代码中搜mediametrics相关代码:

在这里插入图片描述这里的条目LogItem东西太多了,没办法一一介绍大家可以自行代码中对应。

adb shell dumpsys media.metrics --prefix audio.volume

在这里插入图片描述原文地址:
https://mp.weixin.qq.com/s/8uMxQlszFkykE2fkLWrZog

更多framework实战开发干货,请关注下面“千里马学框架”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值