zoukankan      html  css  js  c++  java
  • android之服务service

    service的概念:

    官方定义:在后台长时间的操作,没有用户界面,不与用户进行交互,在默认的情况下,service运行在应用程序进程的主线程中,如果需要在Service中处理一些网络连接等耗时操作,那么应该将这些任务放到单独的线程中去处理,避免阻塞用户界面。

    使用场景:音乐的播放,文件IO流操作,大数据的数据库操作,播放音乐。

    1)  按home键,服务还在运行。

    2) 退出进程,服务不在运行。

    3) 服务不是新的进程,也不是新的线程,他是与当前进程绑定的。

    服务的分类:

    一:按照启动方式分:

    1) started Service

         1, startService()来启动Service

         2, 一旦启动,就运行在后台,即便启动它的Activity已经销毁。

    2) bound Service

      1, bindService来启动Service

      2, 提供服务器端,客户端接口来实现。

      3, 发送请求,得到返回值,甚至通过IPC来实现通信。

    二:按照服务性质来分:

    1) local service--本地服务

    2) Remote service--远程服务

    三:按照实现方法来分:

    1)java Service

    2)native Service

    服务的生命周期:

    一,service在程序清单文件中的配置

    2,service生命周期图:

    启动service startService(intent);

    停止Service stopService(intent);

    服务中耗时操作也需要通过子线程去处理耗时操作。

    备注:

     1.Service不是一个单独的进程 ,它和应用程序在同一个进程中。

    2.Service不是一个线程,所以我们应该避免在Service里面进行耗时的操作

    如何停止Service中的线程???

    一些连接:

    service1 : http://blog.csdn.net/guolin_blog/article/details/11952435

    service2 :http://blog.csdn.net/guolin_blog/article/details/9797169

  • 相关阅读:
    二分搜索
    Shell 字符串处理、获取文件名和后缀名
    sqlldr使用说明
    Linux cached过高问题
    算法时间复杂度
    #if,#ifdef,#ifndef的区别
    memcpy momove strcmp源码实现
    怎么解决/bin/sh: arm-linux-gcc: not found make
    性能文章
    linux
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/3415963.html
Copyright © 2011-2022 走看看