Service

来源:互联网 发布:为何下载不了软件 编辑:程序博客网 时间:2024/06/05 05:02

目录

  • service简介
  • 创建,配置service
  • 启动,停止service
  • 绑定本地service并与之通信
  • service的生命周期
  • 使用IntentService

重点
- service的作用和意义
- 创建,配置,启动,停止service
- 绑定本地service并与之通信
- service的生命周期
- IntentService的功能和用法

一 service的理解

  • 代表可执行的程序
    1 创建子类,
    2清单文件中配置,
    3配置<intent-filter.../>元素指定它可被哪些intent启动
  • 从Context中派生出来的
  • 生命周期
    1 onCreate():
    2 onDestroy()
    3 onStratCommand()
    4 onUnbind()
    5 Binder onBind(Intent intent)
  • service的两种启动方式
    1
    2
  • service的关闭方式
    1
    2
    3 被自己
  • Service的生命周期
    根据service的启动方式的不同,service的生命周期也不一样
1 startService():非绑定service的生命周期:onCreate------>onStartCommant()---->onDestroy()2 bindService():绑定service的生命周期:onCreate-->onBind()-->onUnbind()-->onDestroy() 3 特殊的:当a应用程序用startService()的方法启动service,这时候b应用程序又用bindService()来启动Service,b又调用unbindService()方法,之后b又调用bindService(),这个过程的生命周期为:onCreate()-->onStartCommand()-->onBind()-->onUnbind()(重写该方法时返回true)-->onRebind()
  • 如果希望onRebind()方法被调用,1 用startService()方法开启service,2 onUnbind()方法返回true
  • 通过上面第三种特殊情况分析,service没有调用onDestroy()的生命周期,这是因为service不是由bindService()方法来启动的,所以调用unBindService()方法并不会关闭service,也就是service不会终止。所以当bindService()绑定到一个已经启动的service上时,service只是把IBind对象传给Activity,并不会把生命周期绑到activity上
0 0
原创粉丝点击