gpt4 book ai didi

java - LunarLander 中的 Android IllegalThreadStateException

转载 作者:行者123 更新时间:2023-11-29 07:23:10 25 4
gpt4 key购买 nike

只是来完善我的应用程序并使其在用户离开后恢复。当应用程序恢复时,我得到一个 IllegalThreadStateException,这很烦人。这个问题出现在谷歌给出的例子中 Lunar Lander .有没有人找到在使用 surfaceView 时恢复工作的方法?

最佳答案

我认为这是由于 Surface 和 Activity 的处理方式不同所致。当您离开 LunarLander 应用程序时,表面被销毁(调用 surfaceDestroyed),但 Activity 仅暂停(调用 onPause)。当 Activity 恢复时,将创建表面(调用 surfaceCreated)并尝试再次启动绘图线程。

这意味着创建线程发生在 Activity 的生命周期内,销毁线程发生在 SurfaceView 的生命周期内,这两者并不总是对应,因此会出现 IllegalThreadStateException。解决方案是将线程绑定(bind)到一个生命周期或另一个生命周期,而不是两者。

我认为this thread提出了一个可能的解决方案,但我不知道它是否有效。

关于java - LunarLander 中的 Android IllegalThreadStateException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/683136/

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