我正在写一个信使应用程序。当应用程序启动时(可能在将来的启动时没有UI),后台进程应该启动并接收新消息。如果收到新消息,则应显示通知。
我应该使用什么: AsyncTask 或服务?
我认为whatsapp使用服务。
答案 0 :(得分:0)
AsyncTasks应该用于短期任务,例如下载文件(小),处理数据文件,将数据发送到服务器。服务适用于寿命更长的任务,正如您所说的应用程序始终连接到服务器。所以,你应该使用服务。您必须为您的网络任务维护自己的服务线程。您当然可以从服务创建通知。
使用服务还会导致您的应用在资源不足时被系统杀死的可能性降低。它适用于这样的后台应用程序,以便通知您的应用程序正在运行的信息,同时使您的应用程序更不可能被杀死使用前台服务(Service.startForeground()方法)。