标题图
学习Service相关知识点:
在Android中Service是一个在后台执行长时间运行操作,而不需要和用户交互的应用程序组件。主要是用来后台处理网络事务,播放音乐,执行文件操作和content provider进行交互等。
一:Started Service,二:Bound Service。(英文理解:开启服务,绑定服务)。这两种服务各有各的特色。不过在理解之前,先看看它们的生命周期情况(图片来源于官方):
图片
Call to startService -> onCreate() -> onStartCommand() -> Service running -> onDestroy()
Call to bindService() -> onCreate() -> onBind() -> onUnbind() -> onDestroy()
一:使用startService()方法启动服务,调用onStartCommand()方法启动Service,启动Service的组件与Service没有联系,所以关闭组件,后台的Service也在运行中。
二:使用bindService()方法绑定来启动服务,调用onBind()方法来启动,将启动Service的组件和Service绑定在一起,关闭组件则Service会停止。
创建一个Service类,重写 onCreate(),onStartCommand(),oonDestroy(),这三种通常使用的方法。
定义一个MyService的类,代码如下:
图片
Service(服务)默认是执行主线程,不是默认运行在子线程,和进程中。如果要进行耗时操作,那么就要在开启子线程操作和使用异步消息处理机制。
不然会出现主线程被(ANR)的情况,ANR为应用无反应。
图片
在创建Service时,系统会自动在配置文件对MyService进行注册:
图片
可利用Intent可以启动和停止Service:
图片
对于掌握Service(服务)知识点。 Service用于后台执行用户指定的操作。 学习不是速成,内容理解,多练多用多查多看即可。
喜欢本文的朋友们 欢迎关注,点赞 收看更多精彩内容