gpt4 book ai didi

android - onResume() 在 onCreate() > onPause() 之后连续调用两次

转载 作者:搜寻专家 更新时间:2023-11-01 08:50:26 25 4
gpt4 key购买 nike

关于我的子 Activity 的生命周期方法,我遇到了一件奇怪的事情。如果我启动和关闭 Activity 的次数足够多,最终会出现一个点,由于某种原因,在启动时,onPauseonCreate 之后立即被调用(跳过 onResume),然后 onResume 被连续调用两次。这最终会在我的 onResume 中导致 RuntimeException

这是启动我的 Activity 的代码:

Intent intent = new Intent(MainActivity.this, RecorderActivity.class);
startActivityForResult(intent, AV_CAPTURE);

我的暂停:

protected void onPause() {
camera.stopPreview();
camera.setPreviewCallback(null);
camera.release();
camera = null;
super.onPause();
};

我不太确定我还能在这里提供什么,一切都非常简单。调用finish() 关闭activity等

我可能还应该提到,该 Activity 是从附加到 WebView 的 Javascript 接口(interface)触发的。另一个值得一提的有趣的事情是,在上面第一个代码块的任何地方设置断点似乎可以防止问题发生。

最佳答案

虽然我没有关于两次调用简历的答案,但我确实有一个指向 Android 文档的链接,该链接指出您在尝试打开相机时应始终检查异常情况。看这里:

http://developer.android.com/guide/topics/media/camera.html#access-camera

在 onPause 中,确保将 Camera 对象设置为 null。然后在 onResume 中,仅当您的相机不为空时才尝试调用 getCameraInstance()。

关于android - onResume() 在 onCreate() > onPause() 之后连续调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23916401/

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