zoukankan      html  css  js  c++  java
  • android深入浅出视频笔记 service

    service不是一个独立的进程,默认情况下运行在应用程序的主线程中。

    启动服务后,按Home键,服务还会执行。

    启动服务后,退出进程,服务不会执行。

    启动服务,不用多线程,界面会阻塞。


    Service的分类:

    按照启动方式分类

    一、Started

    1、startService()来启动。

    2、一旦启动,就运行在后台,即便启动它的对象都销毁了。

    3、通常只启动,不返回值。

    4、通常网络上传或下载,操作完成后,自动停止。

    5、onStartCommand()

    二、Bound

    1、bindService()来启动

    2、提供客户端服务器接口来启动

    3、发送请求、得到返回值,甚至通过IPC来通讯

    4、使用者绑定,只要一个绑定者,服务运行,所有绑定者都退出,服务退出。

    5、onBind()

    Service生命周期:

    onCreate()

    onDestory()

    onStartCommand()

    onBind()

    Service只有在系统资源不足的时候才有可能被系统销毁。值得注意的是:Service如果正在bind状态,很少被销毁,如果服务运行在前台,几乎不会被销毁。

    创建和使用Service步骤:

    1、继承Service类实现自己的服务

    2、在Mainifest.xml中注册服务

    3、启动服务startService()

    4、停止服务 stopService()、stopSelf()

    绑定Service的步骤

    1、继承Service类或者IntentService类实现自己的服务。

    2、在Mainifest.xml中注册服务

    3、绑定服务bindService()

    4、取消绑定服务unbinService()

  • 相关阅读:
    【Express系列】第3篇——接入mysql
    【Express系列】第2篇——主程序的改造
    【Express系列】第1篇——项目创建
    AngularJS内置指令
    node服务端搭建学习笔记
    生成ssh key
    webstorm的常用操作
    VSCode 常用插件
    php集成包
    composer安装特别慢的解决方案
  • 原文地址:https://www.cnblogs.com/chinabinner/p/2261987.html
Copyright © 2011-2022 走看看