はい、カメラを解放する必要があります。 OnDestroyでは最小限ですが、おそらくOnPauseで行うほうが安全でしょう。
1.6渡って私のために働いていたカメラの使用のためのライフサイクルは - 3.xのは、次のとおりです。
onResume:
- get a ref to camera with Camera.open();
- sv = (SurfaceView)this.findViewById(R.id.capture_SurfaceView);
mHolder = sv.getHolder();
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mHolder.setSizeFromLayout();
mHolder.addCallback(this);
surfaceChanged:
- Camera.setPreviewDisplayHolder()
- Camera.startPreview()
onPause:
- Camera.stopPreview
- SurfaceHolder.removeCallback()
- Camera.release()
デバイスがオフになった後、背中に、または私のアプリはそう行く渡っこれは私に適しています背景に。
また、カメラを離してしまう可能性のあるキャッチされていない例外には十分注意してください。そのため、カメラのハードウェアがロックアップし、アプリを強制終了して再起動してもカメラを開くことができなくなることがよくあります。その場合は、デバイスの電源を入れ直す必要があります。
あなたは本当にもっと答えを受け入れるべきです。私の経験では、提供されたものが美しく機能します。 – Greyson