2011-04-09 240 views
10

我在surfaceDestroyed()发生时遇到问题。我试图让我的线程停止在surfaceDestroyed()(SurfaceView的)方法中运行,但似乎我的表面永远不会被实际销毁......有人能告诉我什么时候发生这种情况吗?或者如何触发它?何时发生surfaceDestroyed()

回答

18

每当你点击返回或home键,让你获得活动:

活动的onPause

surfaceDestroyed

最后活动onDestroyed。

当你返回surfaceView被重建,但如果你已经使用静态变量已经做驱动应用程序,他们要经常保存,它可能只是看起来像surfaceView都没有被破坏。

关于关闭线程,看看这个:Android crash when app is closed and reopened

+0

你看,我还以为是只要你回来。不过,我试图阻止我的线程在SurfaceDestroyed方法.....但他们依然会@。@ – 2011-04-09 23:16:59

+1

你不能轻易停止线程,只是停止循环在其中,然后用加盟,使他们完成自己和“加入”主UI线程,然后就可以正常关闭UI线程。见我提供的链接问题代码surfaceDestroyed方法。 – Lumis 2011-04-10 00:22:46

2

surfaceDestroyed()当视图是由TabHost管理不叫。