我有一个应用程序,其中使用了设备相机。
现在我只在正常流程中释放相机。
@Override
public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
if(camera != null) {
camera.stopPreview();
camera.release();
}
}
因此,应用程序在相机模式下以意外的方式退出 - 即强制关闭(由于OutOfMemoryError
),导致相机被锁定。唯一释放它的方法是重新启动设备。
在应用程序启动后,我会收到以下消息:RuntimeException: Fail to connect to camera service
我该如何确保相机在任何情况下都被释放?
Camera
,而无需卸载应用程序或重新启动设备。 - Martynas JurkusThread.setDefaultUncaughtExceptionHandler()
来安排处理这样的崩溃,以便能够关闭摄像头。 - CommonsWarecom.bugsense.trace.ExceptionCallback
并在lastBreath()
中释放相机。 - Martynas Jurkus