2011-08-29 122 views
1

我有一個啓動服務的ListActivity。在這項服務中,我啓動了一個線程,它可以處理多達800個聯繫人的數據庫查詢,這似乎正在放慢速度,甚至有時會掛起UI。我應該使用AsyncTask嗎?處理這個問題的正確方法是什麼?Android服務,線程和UI

+0

只是要補充一點,活動視圖在更新時會「滯後」一點,這是否正常? – Maurice

回答

1

通常服務在UI-Thread上運行。 但是你已經提到你在服務中使用線程,這意味着你的工作在後臺進行,所以沒有任何可能阻止UI線程。

我認爲你已經編寫了一些線程更新UI的代碼,這可能會阻止你的用戶界面。

您可以使用AsyncTask而不是使用線程啓動服務和更新,因爲asynctask與後臺線程可以做同樣的事情。

+0

目前,我正在限制創建的線程,因爲AsyncTask的限制是20或者其他,但是感謝您的支持! – Maurice

0

嘗試爲您的列表嘗試增量加載聯繫人。查詢這麼多的數據當然會減慢你的線程。