Android_Camera一些调试技巧

本文介绍Android平台上Camera调试的实用技巧,包括使用dumpsys查看相机参数、启用NoDisplayMode进行无预览拍照、解决内存占用问题等。同时介绍了如何通过Logcat获取Camera API和HAL版本,并在高通平台上显示副摄。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android_Camera一些调试技巧

参考学习
https://www.jianshu.com/p/6fe64cf0340c
更多高通camera相关 进去 博主
https://www.jianshu.com/u/4956569f5f07

把之前开发遇到的一些问题总结一下, 由于很多东西都是和具体平台(高通/MKT)相关的, 本来有更多的内容可以总结, 但由于不在之前公司了,一些源码和环境都没了, 只能写一下记得比较清楚的东西了.
dumpsys
dumpsys是Android系统中一个调试神器, 可以看内存信息, 电池信息, 相机参数等等, 基本Android中每一个大的模块, 都能通过dumpsys来查看. 调试Camera我们通常需要知道一些参数信息, 默认参数, 实际设置参数, 支持的参数, 这些信息都可以通过dumpsys media.camera来查看, 具体用法如下:
//执行这个adb命令会打印所有默认参数和当前使用参数
adb shell dumpsys media.camera//查看某一项参数,使用过滤命令grep(linux), windows下可使用findstr来过滤

adb shell dumpsys media.camera |grep picture-size//输出
picture-size: 3264x2448
picture-size-values:5520x4140,5984x3366,3840x2160,3264x2448,2048x1536,1920x1080,1280x720,640x480,480x320,320x240

其中参数后面带values(比如上面picture-size-values)表示这个参数可设置的值,需要注意的是, 如果当前没有打开Camera, 执行命令也会有相应输出, 此时输出的值是默认值(打开camera不设置任何参数).
上面说的是针对HAL1的参数, 如果是HAL3参数, 输出内容就不一样了,如下:


adb shell dumpsys media.camera // HAL3部分参数输出
android.control.aeLockAvailable (10024): byte[1]
[TRUE ]
android.control.awbLockAvailable (10025): byte[1]
[TRUE ]
android.control.availableModes (10026): byte[2]
[1 2 ]
android.shading.availableModes (100002): byte[2]
[1 2 ]
android.statistics.info.availableLensShadingMapModes (120007): byte[1]
[0 ]


android.sensor.info.preCorrectionActiveArraySize (f000a): int32[4]

可以看到, HAL1和HAL3差别很大, HAL3参数格式和Android Camera API2是对应的,如果要看HAL3的相关参数, 直接使用grep命令存在问题, 因为grep只会输出有关键字的那一行,但HAL3参数的Key和Values一般都不在一行, 所以要把输出保存到文件中,然后搜索关键字
adb shell dumpsys media.camera > camera.txt
No Display Mode
通常情况下,正常使用Camera的流程是:
1.打开Camera
2.设置参数
3.设置预览Surface
4.开启预览:startPreview()
5.拍照:takePicture()
但有些情况下, 我们希望不设

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

荣敢飞

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值