有听众服务或IntentService?

时间:2014-06-22 14:48:35

标签: android

我正在设计一个使用xmpp的聊天应用程序,以便用更好的解决方案替换我的AsyncTask(没有内存泄漏,配置更改无效,管理作业队列,运行不仅仅是1 AsyncTask,等等。)

我想出了一个解决方案:IntentService。起初,每件事情看起来都太好了,这让你怀疑它太好了,我的AsyncTask生活在一个可以运行数天的服务中,他们的工作就是做网络发送和放大。接收。

所以现在在另一个服务中,我有听众,听取数据包,我想知道IntentService是一个好的想法,用作监听器服务(因为我看到IntentService使用Intent s,所以我想知道可能会根据请求做一些工作),或者我应该继续使用基本服务?

我也想知道:为什么在AsyncTask时使用IntentService

1 个答案:

答案 0 :(得分:2)

  

我想出了一个解决方案:IntentService

IntentService并非针对您的方案而设计。它被设计为在后台线程上做一些工作,然后消失。

  

我应该继续使用基本服务吗?

是的,虽然服务中可能不需要AsyncTask,因为您通常不希望在服务中的主应用程序线程上执行任何操作。只需在服务中使用ThreadThreadPoolExecutor即可。

  

我也想知道为什么在有IntentService时使用AsyncTask?

除其他原因外,AsyncTask可以使用线程池; IntentService只有一个后台主题。