在讨论Service 之前,我们需要了解两点,非常重要的两点
(1) Service 不会专门启动一条单独的进程,Service与它所在应用位于同一个进程中
(2) Service也不是专门的一条线程,因此不应该在Service中直接处理耗时的任务
看完demo之后,我们来看看Service的生命周期
初步学习Service之后,大家可能会有疑问,这Service也不咋地,Service主要特点是在后台执行耗时任务,而且不用提供用户界面和用户直接交互,这在Activity中直接new一个Thread不就行了嘛,何必又整个Service出来多费事啊,针对这个问题,大家需要了解两点。
(1)Service的优先级高于后台挂起的Activity,如果系统运行内存不够,相对来说会杀死挂起的Activity
(2)Service和Thread完成是两回事,半点毛关系都没有,但你在Activity中另起一Thread时,Activity 被 finish 之后,如果你没有主动停止 Thread或者 Thread 里的run 方法没有执行完毕的话,Thread也会一直执行,但是在这之后你就再也没法获取Thread的应用啦,但是Service不一样,你的任何Activity都可以重新 控制你想要控制的Service