本博客地址:https://security.blog.csdn.net/article/details/82874644
一、基础理论
服务(Service)是Android中实现程序后台运行的解决方案,用于执行那些不需要和用户交互而且还要求长期运行的任务。Service缺少可视化界面并且通常作为后台长时间运行的任务。当服务所在的应用程序被杀掉时,该进程的服务也会停止。
即使负责启动它的Activity已不存在,Service也应该在后台保持运行,完成任务后Service自动停止。所有的Service可以被自定义权限保护,在声明完android:name后就声明android:permission。
Service分为两种工作状态,一种是启动状态,可以启动长时间运行的任务(即启动started Service),主要用于执行后台计算,本身是运行在主线程中的,因此耗时的后台计算仍需在子线程中去完成。另一种是绑定状态,主要用于其它组件和Service的交互。两种状态可以共存,即Service既可以处于启动状态也可以同时处于绑定状态。
通过Context的startService方法即可启动一个Service,通过Context的bindService方法即可以绑定的方式启动一个Service。
二、线程和线程池
线程分为主线程和子线程ÿ