Service知识点梳理

一、Service定义:
1.Service是一个应用组件,它用来在后台完成一个时间跨度较大的工作且没有关联任何界面
2.一个Service可以完成下面这些工作:
访问网络
播放音乐
文件IO操作
大数据量的数据库操作

3.服务的特点:
1>Service在后台运行,不用与用户进行交互
2>即使应用退出,服务也不会停止。
3>在默认情况下,Service运行在应用程序进程的主进程(UI进程)中,如果需要在Service中处理一些网络连接等耗时间的操作,那么应该将这些任务放在分线程中处理,避免阻塞用户界面。
4.Service理解:
1)Service与Activity之间的区别:
Activity:Activity对应一个界面
应用退出Activity对象会死亡
应用再次进入,启动的Activity对象是重新创建的。
Service:不与任何界面关联
应用退出,Service任然运行
应用再次进入,启动的Sevice还是运行的前面的对象
2)Service与Thread之间的区别:
Thread:用来开启一个分线程的类,做一个***长时间***的工作
Thread对象的run()在分线程执行
应用退出:Thread不会停止
应用再次进入:不能再控制前面的Thread对象
Service:用来在后台完成一个***时间跨度较大***的应用组件
Service的生命周期方法运行在主线程,如果Sevice想做一个持续时间较长的工作,需要启动一个分线程(Thread)
应用退出:Service不会停止
应用再次进入:可以与正在运行的Service进行通信
二、Service的绑定与启动:
方式一:一般启动与停止:
context.startService(Intent intent)
context.stopService(Intent intent)
方式二:绑定启动与解绑:
content.bindService(Intent intent, ServiceConnection serviceConnection)
content.unbindService(ServiceConnection serviceConnection)
若Service启动后与启动者有关联就用方式二
三、Service的生命周期:
在这里插入图片描述

  1. startService(intent)
    第一次调用 : -->构造方法()–>onCreate()–>onStartCommand()
    (重要)后面再调用 : -->onStartCommand()
    stopService() : -->onDestory()
  2. bindService(intent, serviceConnection)
    调用 : -->构造方法()–>onCreate()–>onBind()–>onServiceConnected()
    unbindService(): (中有当前Activity与Service连接)–>onUnbind()–>onDestroy()
    注:每次startService都会调用Service的onStartCommand()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值