IntentService
service一般被用于在后台执行一个任务,耗时任务需要开启线程,二IntentService将用户的请求执行在一个线程中,用户只需要覆写onHandleIntent函数,在该函数中完成自己的耗时任务即可,在完成任务后,IntentService会调用stopSelf自我销毁,该service适用于完成短时间的耗时任务。
前台Service
Service默认运行在后台,而后台运行的优先级相对较低,当系统出现内存不足的情况时,它可能被回收掉,但是这不是我们想要看到的,如果希望Service一直保持运行,而又不会因为系统内存不足而被回收,可以将Service运行在前台。
例如天气软件,会在通知栏更新天气。
我们在Service的onCreate()方法中调用显示Notification来显示通知,在最后调用startForeground将服务设置为前台服务,然后去AndroidManifest.xml注册Service,之后启动就会在通知栏看到我们定义的Notification。