0

我的应用程序出现问题。我有一个SurfaceHolder用于绘制到画布上。
在surfaceCreated方法下,我调用thread.start();
在surfaceDestroyed方法下,我打电话给thread.join();
我运行我的应用程序并按主页键,whoch依次调用surfaceDestroyed方法。

问题是,当我随后尝试再次运行我的应用程序时,我得到一个线程已经启动的异常。为什么是这样?我甚至测试,看看线程是否已经运行使用isAlive()。我需要用thread.wait替换thread.join行吗?
如果是这样,我怎么能恢复线程,而不是在surfaceCreated再次启动它?Android thread.join()线程强制在应用程序再次启动时关闭

回答

1

首先 - wait方法不会导致线程挂起。
秒 - join等待线程死亡。
第三 - 我会考虑创建一个新线程,而不是尝试运行同一个线程。

+0

啊谢谢,效果很好! –