Android的 - 致命信号11停止和录制视频
问题描述:
后重置相机时,我目前有我想录制视频,用下面的方法来初始化相机的应用程序:当我试图阻止Android的 - 致命信号11停止和录制视频
相机或当surfaceDestroyed
叫,我叫下面的方法:
private void resetCamera() {
mMediaRecorder.stop();
mMediaRecorder.reset();
mMediaRecorder.release();
mCamera.release();
mCamera = null;
try {
initRecorder(mHolder.getSurface());
} catch (IOException e) {
e.printStackTrace();
}
}
然而,在某个地方的代码我得到一个致命的信号11错误。显然,代码试图非法访问一部分内存。
我在想,如何解决这个错误?
这是从我开始录制视频时,我停止录制logcat的转储:
D/dalvikvm: GC_FOR_ALLOC freed 1309K, 27% free 7434K/10168K, paused 9ms, total 9ms
I/dalvikvm: Could not compile trace for Ljava/util/Arrays;fill, offset 5
I/dalvikvm: ++++++++++++++++++++++++++++++++++++++++++++
I/dalvikvm: JIT_INFO: ME Issues while compiling trace Ljava/util/Arrays;fill, offset 5
I/dalvikvm: The trace provoked a spill.
I/dalvikvm: Trying less registerization from 1 to 0
D/dalvikvm: GC_FOR_ALLOC freed 1415K, 27% free 7438K/10168K, paused 10ms, total 10ms
A/libc: Fatal signal 11 (SIGSEGV) at 0x00000010 (code=1), thread 13774 (arch.treadmill3)
答
后mMediaRecorder.release();你必须写mMediaRecorder = null;因为release()方法似乎有很少的错误。 像这样:
if (mMediaRecorder != null) {
mMediaRecorder.stop();
mMediaRecorder.reset();
mMediaRecorder.release();
mMediaRecorder = null;
}
发布错误的完整日志(我知道它不是java跟踪,但有时其中的其他信息是有用的)。 –
我有完全相同的问题。你解决了吗? – YYamil