Service(服务)知识要点

1.Service的生命周期?

Service的启动有两种方式,先来看主要的一种

1.通过startService()方法启动服务,如果服务之前没有创建过,先调用onCreate()方法,之后调用onStartCommand()方法,使用stopService()方法停止服务之后,回调onDestory()方法

2.通过bindService()启动服务,没有创建的话也是先调用onCreate()方法,之后调用onBind()方法,使用unBindService()方法解除绑定之后,调用onUnbind()方法,再调用onDestory()方法

官方文档提供的生命周期



2.Service的两种启动方式?区别在哪?

两种方式上面已经讲述过了,这两种启动方法并不冲突,当使用startService()启动Service之后,还可再使用bindService()绑定,只不过需要同时调用 stopService()和 unbindService()方法才能让服务销毁掉。

3.Service如何和Activity进行通信?

通过onBind()方法进行通信,具体以后详解

4.是否能在Service进行耗时操作?如果非要可以怎么做?

Service其实是存在于主线程的,如果要进行UI操作可以开辟一个子线程进行耗时操作

5.前台服务是什么?和普通服务的不同?如何去开启一个前台服务?

前台服务会一直有一个正在运行的图标,在系统的状态栏显示,使用前台服务或者为了防止服务被回收掉

通过Notification调用StartForeground()方法

6.如何保证Service不被杀死?

普通服务的优先级都是比较低的,为了不让服务被杀死,可以将服务定为前台服务

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容