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()方法

  • 相关阅读:
    Document
    Document
    Document
    2.原型和原型链的关系以及查找顺序
    1.面向对象 及 相关知识点
    时间对象 <-> 定时器 <-> 电子时钟 <-> 倒计时效果
    定时器
    let var const 的区别
    ES6 中块的概念
    js中的闭包
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4800053.html
Copyright © 2011-2022 走看看