Android camera 返回帧数据量过大(30fps) 处理数据过慢(多线程处理) 导致帧频逐渐减少

img


为了保证子线程的帧频达到18fps 不能加判断进行帧频限制
有没有能解决此类问题的

不太明白你的不能加判断进行帧频限制是什么意思
之前做也是帧率大,导致预览很卡
在onPreviewFrame回调中做限制
@Override
public void onPreviewFrame(byte[] nv21, Camera camera) {
//不能放到时间限制下面去,否则没有下一次回调
camera.addCallbackBuffer(nv21);
long currentTime = System.currentTimeMillis();
//人眼追踪开启 并且 时间限制,防止帧率过大 count为每秒允许的最大帧率
if (isEye3D && currentTime - lastPreviewCallbackTime < 1000 / count)
return;

    lastPreviewCallbackTime = currentTime;
    if (cameraListener != null) {
        cameraListener.onPreview(nv21, camera);
    }
}