2011-08-29 94 views
1

我有一个启动服务的ListActivity。在这项服务中,我启动了一个线程,它可以处理多达800个联系人的数据库查询,这似乎正在放慢速度,甚至有时会挂起UI。我应该使用AsyncTask吗?处理这个问题的正确方法是什么?Android服务,线程和UI

+0

只是要补充一点,活动视图在更新时会“滞后”一点,这是否正常? – Maurice

回答

1

通常服务在UI-Thread上运行。 但是你已经提到你在服务中使用线程,这意味着你的工作在后台进行,所以没有任何可能阻止UI线程。

我认为你已经编写了一些线程更新UI的代码,这可能会阻止你的用户界面。

您可以使用AsyncTask而不是使用线程启动服务和更新,因为asynctask与后台线程可以做同样的事情。

+0

目前,我正在限制创建的线程,因为AsyncTask的限制是20或者其他,但是感谢您的支持! – Maurice

0

尝试为您的列表尝试增量加载联系人。查询这么多的数据当然会减慢你的线程。