2011-03-23 113 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

我並不具體瞭解,但是您應該始終對您的活動可能會在任何時候不在前臺的情況下進行編程。無論是在每次進入後臺時殺死線程,還是讓線程進入休眠狀態,然後在活動被終止時將其殺死,我都不知道。無論如何,你必須假設它可以並將會發生,並據此進行編程。