在子活动中,我使用 MediaRecorder 录制了一些音频,并有两个按钮:第一个按钮将开始录制,第二个按钮将返回其父活动。但是,每次我点击返回按钮时,都需要很长时间才能返回到主要活动的视图。我在返回按钮回调中的代码是:
public void onClick(View arg0) {
if (arg0.getId() == R.id.startRecord)
{
StartRecording();
}
else if (arg0.getId() == R.id.goBack)
{
if(mediaRecorder!=null)
{
mediaRecorder.stop();
mediaRecorder.release();
mediaRecorder = null;
}
this.finish();
}
}
父活动的onCreate()
方法只启动几个按钮并为它们设置监听器方法。我真的不明白为什么回去行动会花很长时间。一个值得一提的现象是,如果我不先录制,而是先点击返回按钮,它会很快返回到父活动。只有在我录制了一些音频后才会出现较长的响应时间。我确实上传了录制的音频,但是我将上传放在了一项AsyncTask
任务中,上传工作完成后我可以获得反馈。在我看到反馈后,甚至等待一段时间后,返回按钮仍然需要很长时间才能让我回到主要活动。有人对此有建议吗?谢谢!