gpt4 book ai didi

android - 返回需要很长时间

转载 作者:行者123 更新时间:2023-11-30 04:04:20 25 4
gpt4 key购买 nike

在一个子 Activity 中,我使用 MediaRecorder 录制了一些音频并有两个按钮:第一个将开始录制,第二个将返回到其父 Activity 。但是,每次我点击返回按钮时,都需要很长时间才能返回到主要 Activity 的 View 。我在返回按钮回调中的代码是:

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();

}
}

父 Activity 的onCreate() 方法只启动几个按钮并为它们设置监听器方法。我真的想不通为什么回去行动需要很长时间。一个值得一提的现象是,如果我不先记录而是先点击返回按钮,它会很快返回到父 Activity 。只有在我录制了一些音频后才会出现较长的响应时间。我确实上传了录制的音频,但是我将上传放在 AsyncTask 任务中,上传工作完成后我可以获得反馈。在我看到反馈后,甚至等待了一段时间,返回按钮仍然需要很长时间才能将我带回主要 Activity 。有人对此有建议吗?谢谢!

最佳答案

您可以覆盖后退按钮,尽管据我所知,很多开发人员似乎对这个想法不太友好。

@Override
public void onBackPressed() {
mediaRecorder.stop();
mediaRecorder.release();
mediaRecorder.reset();
mediaRecorder = null;
}

看看这是否适合你。


更好的是,这样的东西可能更有用,这样你就可以轻松地调用 stop() 方法:

public void onClick(View arg0) {        
if (arg0.getId() == R.id.startRecord) {
StartRecording();
} else if (arg0.getId() == R.id.goBack) {
if(mediaRecorder!=null) {
stopRecording();
}
this.finish();
}


public void stopRecording() throws IOException {
mediaRecorder.stop();
mediaRecorder.release();
mediaRecorder.reset();
mediaRecorder = null;
}

@Override
public void onBackPressed() {
stopRecording();
}

关于android - 返回需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11993197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com