2
當開發我的android應用程序時,遇到以下問題:Android會在什麼時候自動掛起一個線程?
處理程序線程被android自動掛起。 Eclipse在「DDMS」透視圖中將線程的狀態顯示爲「掛起」。線程的處理程序不再處理髮送給它的消息(我設置了一個斷點,程序從不去那裏)。與此同時,應用程序正常運行,除了由於沒有數據,UI模塊無法顯示任何內容。 (此線程用於從本地數據庫和網絡加載數據。)
我的問題是:在什麼樣的情況下android虛擬機會掛起一個線程?
謝謝。我編輯了我的問題,使其更加詳細。線程的處理程序沒有處理髮送給它的消息。 Android DDMS顯示其狀態爲「掛起」。 Android DDMS使用「suspend」這個詞來表示一種狀態的原因一定是有原因的。 – Guocheng
就我所知,處理程序與UI線程有某種聯繫,因此,如果您在處理程序上發佈了某些內容,並且活動/用戶界面不可見或被銷燬,則該信息可能永遠不會運行。如果您使用某種時間發送消息,那麼您應該考慮使用單個線程,因爲應用程序不會關閉它。你可以用'Thread.sleep()'或'Object.wait()'來計時。如果你想在線程中做一些與用戶界面相關的事情,那麼你可以轉向你處理程序並將其發佈。 – Sipka
你的意思是一個非UI線程的處理程序以某種方式與UI線程連接?在我的情況下,活動/用戶界面仍然在前面。 – Guocheng