Service
1 .个人对Service的理解:
在最底层的一个透明activity,看不到摸不着的一个activity,而且还是主线程,一般来说用来操作一些耗时的任务,或者是执行长期运行的任务(需要开启副线程,下载任务,边播边缓存等)。
2.Service的两种启动方式:
startService:
这种启动方式会一直在后台运行,直到你手动结束它stopService。(个人一般用这种来做下载任务)。bindService:
这种模式会随开启的这个服务的调用者的消亡而消亡。(比如在视频观看页面边播边缓存的任务,结束观看这个任务也就不需要了,当然也可以手动调用结束unbindService)。
3.Service的生命周期
4.Service和Activity是如何通信的
- startService:
(1)不管服务是否启动,只要activity调用startService,service都可以在onStartCommand(Intent intent .....)方法中接收传参等。
(2)service通知Activity则需要用到广播或者别的方法(弹个通知栏?)。 - bindService:
(1)通过IBinder进行通信,实现android.os.Binder类,并且定义一个方法,然后我们通过onBind()方法将其对象返回Activity。(用于监听service的进度或情况)
(2)广播。