一、多次持续调用setRepeatingRequest函数崩溃问题
崩溃信息如下:
微信截图_20250211150026.png
解决方案:
在调用手电筒开关、相机缩放等执行如下函数可以会设置null的空值传参。这样会导致同时多次进行的时候会偶发的崩溃。
// 发送请求以打开/关闭手电筒
cameraCaptureSession.setRepeatingRequest(previewRequestBuilder.build(), null, null);
修改后:
cameraCaptureSession.setRepeatingRequest(previewRequestBuilder.build(), null, new Handler());
原因分析:
setRepeatingRequest初步分析是异步处理函数,包括camera2中的其他api多数都为异步处理,这里没有传入异步处理的回调接收对象handler, 从而导致了这个问题。
个人感觉大概率还是android官方设计api的漏洞,当传入空的handler的时候,后处理做的不是很完善。