我有一个涉及线程并从方向更改中恢复的问题。我已经看到了很多很好的答案,涵盖了线程或方向的变化,但很少有很多能够涵盖两者。以下是涵盖我的问题的一般情景:
现在,处理方向更改的最佳方法是什么。我假设我:
由于onCreate()将为" signal"创建一个新的Object,如何重新建立一个到当前wait()的线程的链接,以便我可以调用notify()并恢复它?
我尽我所能解释了这一点,我会尝试提供所要求的任何其他信息。
答案 0 :(得分:0)
Activity的生命周期经过精心设计,可以根据系统需求或用户交互进行销毁和重新创建,因此一般来说,任何应用内操作也应该在发生这些生命周期变化时被销毁并重新创建。例外情况是长时间运行的进程,除了活动(如服务)之外在后台运行。
因此,要回答您的问题,而不是尝试暂停和恢复线程,最好在Activity重新启动时简单地重新启动线程,并将Thread您的计数器变量作为指示计数停止的位置。您已经将此变量保存在savedInstanceState中,因此只需在Activity的开头抓取它,然后将其传递到您的(新)线程中继续计数。