四大组件之Service小结

时间:2021-08-05 09:09:06

总结提高,与君共勉!

1、Service是什么

Service 是看不到界面的,,就是一个没有界面的Activity, 并且长期在后台运行的一个组件.。

由于ANR对Activity和BroadcastReceiver响应时间的限制(Activity对事件响应不超过5秒,BroadcastReceiver执行不超过10秒),使得在其中都不适合执行较耗时操作,这样像网络、数据库、复杂计算这类耗时操作的执行就需要一个组件来承担。Service作为Android四大组件之一,其功能之一就是耗时操作的执行。

2、Service的启动方式

主要有俩种,绑定和非绑定

(1)以调用Context.startService()启动,而以调用Context.stopService()结束

(2)以调用Context.bindService()方法建立,以调用Context.unbindService()关闭

注:

调用 startService() 方法就能启动 Service 了,然后系统会回调 Service 类的 onCreate() 以及 onStart() 方法。这样启动的 Service 会一直运行在后台,直到 Context.stopService() 或者 selfStop() 方法被调用。另外如果一个 Service 已经被启动,其他代码再试图调用
startService() 方法,是不会执行 onCreate() 的,但会重新执行一次 onStart() 。

 另外一种 bindService() 方法的意思是,把这个 Service 和调用 Service 的客户类绑起来,如果调用这个客户类被销毁,Service 也会被销毁。

3、Service的生命周期

四大组件之Service小结