zoukankan      html  css  js  c++  java
  • Android(java)学习笔记170:服务(service)之服务的生命周期 与 两种启动服务的区别

    1.之前我们在Android(java)学习笔记171:Service生命周期 (2015-08-18 10:56)说明过,可以回头看看:

    2.Service 的两种启动方法和区别:

    (1)Service 的两种启动方法和区别:

    Service的生命周期方法onCreate, onStart, onDestroy
    有两种方式启动一个Service,他们对Service生命周期的影响是不一样的。

    • 通过startService

      Service会经历 onCreate -> onStart
     stopService的时候直接
    onDestroy
      如果是调用者自己直接退出而没有调用stopService的话,Service会一直在后台运行。下次调用者再起来可以stopService。

    • 通过bindService

      Service只会运行onCreate, 这个时候服务的调用者和服务绑定在一起

      调用者退出了,Srevice就会调用onUnbind->onDestroyed所谓绑定在一起就共存亡了。并且这种方式还可以使得 

    调用方(例如)调用服务上的其他的方法

    (2)总结:

      Activity通过bindService(Intent intent,ServiceConnection conn,int flags)跟Service进行绑定,当绑定成功的时候Service会将代理对象通过回调的形式传给conn,这样我们就可以拿到Service提供的服务代理对象。

      在Activity中可以通过startService和bindService方法启动Service。一般情况下如果想获取Service对象的那么肯定需要通过bindService()方法,比如音乐播放器、第三方支付等等。如果仅仅只是为了开启一个后台服务那么可以使用startService()方法

  • 相关阅读:
    微信小程序-隐藏和显示自定义的导航
    微信小程序-注册和第一个demo
    QRCodeHelper 二维码生成
    Excel 操作
    angular 初体验
    angular 环境搭建
    代码注入
    c# 从一个服务器 访问另外一个服务器上的文件
    oracle 分组取第一行数据 ,查询sql语句
    软件项目验收需要的文档 ,谢谢补充
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4800053.html
Copyright © 2011-2022 走看看