我似乎遗漏了一些东西,因为我不明白为什么在 Android 文档(Android Camera 文档链接)中建议在 onPause() Activity 回调中释放 Camera 对象(以及 MediaRecorder)?到那时 Activity 仍然可能是可见的,并且 Camera 可能正在运行预览,那么为什么当 Activity 已经隐藏时,Camera 对象会在 onPause() 而不是 onStop() 中释放?我知道 MediaRecorder 对象可以在 onPause() 中停止,但相机本身对我来说没有意义。我在这里想念什么?Android 文档中的一段代码如下(在“释放相机”标题下):
@Override
protected void onPause() {
super.onPause();
releaseMediaRecorder(); // if you are using MediaRecorder, release it first
releaseCamera(); // release the camera immediately on pause event
}
private void releaseMediaRecorder(){
if (mMediaRecorder != null) {
mMediaRecorder.reset(); // clear recorder configuration
mMediaRecorder.release(); // release the recorder object
mMediaRecorder = null;
mCamera.lock(); // lock camera for later use
}
}