【发布时间】:2011-10-31 09:18:34
【问题描述】:
我有一个带有 SurfaceView 的 Activity,它由游戏引擎(线程)管理。我重写了 onCreate 和 onSaveInstanceState 来管理线程的保存/恢复状态。
当从该 Activity 的菜单访问首选项屏幕时,该 Activity 将经历其生命周期到 onStop;当首选项屏幕关闭时,Activity 在 onResume 处再次启动,因此不会发生 onCreate。但是线程处于 TERMINATED 状态,因此无法恢复。
是的,我可以创建线程的一个新实例——但是我怎样才能恢复状态呢?我也尝试覆盖 onRestoreInstanceState,但经过快速测试和更彻底的阅读后,我意识到在这种情况下不会调用它,因为它是在 onStart 和 onResume 之间调用的。
处理这个问题的最佳方法是什么?
【问题讨论】: