我有一个启动服务的 ListActivity。在此服务中,我启动了一个线程,该线程对多达 800 个联系人进行一些数据库查询,这似乎有时会减慢甚至挂起 UI。我应该改用 AsyncTask 吗?处理此问题的正确方法是什么?
最佳答案
通常服务在 UI-Thread 上运行。 但是您曾提到您在服务中使用线程,这意味着您的工作在后台进行,因此不可能阻止 UI-Thread。
我认为您已经为更新 UI 编写了一些线程外的代码,这可能会阻塞您的 UI。
您可以使用 AsyncTask
而不是使用线程启动服务和更新,因为 asynctask 正在做与后台线程可以做的相同的事情。
关于Android 服务、线程和 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7226028/