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

  • 相关阅读:
    从产品原型到交互设计的过渡——初学者心得
    谈什么是卡片式设计?
    vertical-align:middle的居中细节调整
    line-height:2和line-height:2em的区别,它们是有区别的
    css中!important的用法总结
    使用em为单位制作两列弹性布局
    如何动态修改下拉列表的默认选中项
    【转】深入浅出协议栈
    经典排序js实现
    js 数组的拷贝
  • 原文地址:https://www.cnblogs.com/chinabinner/p/2261987.html
Copyright © 2011-2022 走看看