Android知识点整理回顾--Service和IntentService

Service:Android中在后台长时间运行而不使用界面的组件,运行于主线程,所以不能执行耗时操作。

IntentService:继承于Service,与Service不同的是,在执行onCreate方法时,内部开启了一个线程用于执行耗时操作,在使用时,可以在onHandlerIntent方法中执行耗时操作,该方法处理任务时采取了异步方法,即一个完成再执行下一个。

Service的生命周期:

1、startService

onCreate()                         onStartCommand()              onDestroy()

        如果一个Service被startService启动,该Service会一直在后台运行,与activity是否在运行无关;如果一个service被startService多次启动,onCreate方法只会调用一次,onstartCommand方法会调用多次,系统只会创建Service的一个实例(即只需要执行一次stopService),该service会在调用stopService后销毁(该service只被startService启动的情况下)。

2、bindService

onCreate()                     onbind()                onUnbind()           onDestroy()

         如果一个service被activity使用bindservice启动,该service会与该activity绑定,如果一个service被bindservice多次调用,onCreate方法和onbind方法只会执行一次,该service会在activity销毁或者调用unbind方法后销毁

3、由于intentService在执行耗时操作时如果与activity生命周期相关会出现问题,所以intentService只能使用startService调用,使用bindService无效。

你可能感兴趣的:(Android知识点整理回顾--Service和IntentService)