zoukankan      html  css  js  c++  java
  • Service【Android】

    Service概念及用途:

    A service is an application component that can perform long-running operations in the background and does not provide a user interface。
    通常service用来执行一些耗时操作,或者后台执行不提供用户交互界面的操作,例如:下载、播放音乐。
     
    Service生命周期 :
    Android Service的生命周期并不像Activity那么复杂,它只继承了onCreate(),onStart(),onDestroy()三个方法,当我们第一次启动Service时,先后调用了onCreate(),onStart()这两个方法,当停止Service时,则执行onDestroy()方法,这里需要注意的是,如果Service已经启动了,当我们再次启动Service时,不会在执行onCreate()方法,而是直接执行onStart()方法。
     
    1 通过startService 
        Service会经历 onCreate -> onStart 
       stopService的时候直接onDestroy 

       如果是调用者(TestServiceHolder)自己直接退出而没有调用stopService的 
       话,Service会一直在后台运行。 
       下次TestServiceHolder再起来可以stopService。

      2 通过bindService    
        Service只会运行onCreate, 这个时候 TestServiceHolder 和TestService绑定在一起 

       TestServiceHolder 退出了,Srevice就会调用onUnbind->onDestroyed 
       所谓绑定在一起就共存亡了。 
     
    服务不能自己运行,需要通过调用Context.startService()或Context.bindService()方法启动服务。这两个方法都可以启动Service,但是它们的使用场合有所不同。使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止,大有“不求同时生,必须同时死”的特点。
  • 相关阅读:
    JSP内置对象——application,page,pageContext,config,Exception
    点击按钮添加一组下拉框,然后改变下拉框的值触发事件
    vue基础学习(三)
    轻量级quill富文本编辑器
    jQuery 文档操作方法
    点击识别位置并在该位置下弹出选择框
    css样式清零及常用类
    vue基础学习(二)
    响应式web-媒体查询
    在cmd下编译一个简单的servlet时出现程序包javax.servlet不存在
  • 原文地址:https://www.cnblogs.com/penger/p/4143403.html
Copyright © 2011-2022 走看看