ava.lang.RuntimeException: Camera is being used after Camera.release() was called
错误就是上述这个错误,错误出现在Android相机开发中,我所实现的方法贴一下:
[java] view plain copy
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
if (!isOpenCamera)
return;
mCamera.setPreviewCallback(null);
mCamera.stopPreview();
mCamera.lock();
mCamera.release();
mCamera =null;
}
乍一看没啥错误,但是这个错误会在不经意间蹦出来影响应用的运行,直接就AAR了.所以为了解决这个错误,需要在camera调用setPreviewCallback之前加上一句代码,加完代码后的方法为:
[java] view plain copy
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
if (!isOpenCamera)
return;
holder.removeCallback(this);
mCamera.setPreviewCallback(null);
mCamera.stopPreview();
mCamera.lock();
mCamera.release();
mCamera =null;
}
到此我的问题已经解决,但是我正在想为什么这么做?
对于无法分屏,建议配置不分屏,即不会FC。