Service

一.service应用场景,以及和Thread区别

1.Service是什么

eg:在后台上时间运行操作而没有用户界面的应用组件

可以在后台上时间开启,程序退出的时候,Service进程保活

eg:service和广播都必须运行在主线程中

2.service和Thread区别

eg:Thread是程序运行的最小单位,相对独立,因此在执行一些耗时操作,就不会阻塞主线程

service是依托于线程中运行,耗时操作无法进行操作,如果一定要进行耗时操作,需要单独打开子线程

二.开启service的两种方式以及区别

1.startService

eg:onBind 返回null即可

onCreate 首次创建服务,一次性设置程序,在调用onStartCommand或onBind之前,如果服务已经在运行,则不会调用该方法,该方法只会调用一次

onStartCommand 每次通过startService启动Service都会被调用

onDestory 服务销毁

2.bindService

eg:

1)创建bindService服务端,继承自Serivce并在类中,创建一个实现Ibinder接口的实例对象,并提供公共方法给客户端调用

2)从onBind回调方法返回次Binder实例

3)在客户端中,从onServiceConnected回调方法接收Binder,并使用提供方法调用绑定服务

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言:本文所写的是博主的个人见解,如有错误或者不恰当之处,欢迎私信博主,加以改正!原文链接,demo链接 Serv...
    PassersHowe阅读 1,446评论 0 5
  • 版权声明:本文为博主原创文章,未经博主允许不得转载 PS:转载请注明出处作者: TigerChain地址: htt...
    TigerChain阅读 779评论 0 3
  • bindService的过程要比startService的过程复杂一些,因为bingService之后,发起者可以...
    小爨阅读 6,126评论 1 21
  • 最近刚入职,工作中发现自己的能力是在太差了.遂决定重头学习,Activity的文章已经写过了,所以就先从Servi...
    hui朝晖阅读 1,136评论 1 7
  • 不要说谎,不要害怕真理。——(俄)列夫.托尔斯泰 承诺是毒, 是令人清醒的毒药, 纵然掩饰千层, 也能一针到底。 ...
    小书悦人阅读 171评论 5 6