2011-03-23 117 views
0

如果一个应用程序被带到后台,UI线程正在运行这个应用程序?Android中的UI线程如何工作?

它会睡觉或被杀吗?

当应用程序返回前台时,是否会通知同一个线程或创建新线程并与应用程序实例关联?

回答

0

这取决于内存的情况。当您的应用程序进入后台时,它通常会保持最初状态。 Android不会睡你的线程。您需要停止更新您的UI并在上执行计算。

但是,在内存不足的情况下,Android可能会在应用程序处于后台时终止应用程序(尤其是如果您的环境不佳并且占用了大量资源)。因此,您应该始终在中保存任何持久数据。

+0

如果应用程序A被带到bckgrnd中,并且它在内部保持运行,那么正如您所说与A关联的线程将运行?如果我启动应用程序B,那么是否会创建一个新线程并将其与B相关联,或者同一UI线程将用于A和B,具体取决于哪个应用程序处于前台? – AKh 2011-03-24 17:36:37

1

我并不具体了解,但是您应该始终对您的活动可能会在任何时候不在前台的情况下进行编程。无论是在每次进入后台时杀死线程,还是让线程进入休眠状态,然后在活动被终止时将其杀死,我都不知道。无论如何,你必须假设它可以并将会发生,并据此进行编程。