gpt4 book ai didi

android - "RuntimeException: Performing pause of activity that is not resumed"

转载 作者:IT老高 更新时间:2023-10-28 22:16:36 26 4
gpt4 key购买 nike

(我在stackoverflow上看到了一个类似的问题,但那里的答案不是真正的答案,而且问题的上下文也有点不同。)

“java.lang.RuntimeException:正在执行未恢复的 Activity 暂停”

我开发了一个游戏应用程序(它使用普通 View 和 GLSurfaceView)。如果我快速打开和关闭手机显示屏非常,我有时会导致此异常(由 ActivityThread 引发),但我的应用程序在异常后正常运行。我的应用是横向应用,并且在 list 中也正确设置(包括方向和配置更改)。

这样好吗?

这是我的应用程序名称下的 ActivityThread 抛出的 RuntimeException,但它不会终止我的应用程序。

最佳答案

我刚刚遇到了这个问题,因为我正在调用 activity.recreate()(或 .finish() 和 .startActivity() - 取决于 android 版本)。当然,您只会调用这些函数,因为您想重新加载语言、重置方向和类似的事情,而这些事情只能通过 Activity 娱乐来完成。

您不能从 onResume() 调用这些函数(.finish() 或 .recreate())。如果这样做,您将收到提到的非致命异常。

我通过将 .recreate() 调用延迟一毫秒来“解决”了这个问题,以便 Activity 正确恢复,然后才被终止。

  Handler handler = new Handler();
handler.postDelayed(new Runnable()
{
@Override
public void run()
{
log.i("TX.refresh", "Switching to %s from %s", lang, lang);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB)
{
ctx.finish();
ctx.startActivity(ctx.getIntent());
} else ctx.recreate();
}
}, 1);

关于android - "RuntimeException: Performing pause of activity that is not resumed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10844112/

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