zoukankan      html  css  js  c++  java
  • Android四大组件之Service

    1.Service是什么?

     当后台需要监听某些程序,或者后天进行长时间的服务。或者后天开始进行操作长时间的业务,而页面可能被销毁。

    和activity相识,但是service没有界面。

    service前台,后台?

    何为前台,就是有和用户交互的程序。

    service怎么交互?通知栏。

    所以。service的startForeground需要传入notification的东西。

    默认service都在后台运行。

    2.Service的生命周期。

    生命周期是多进程系统的特色,尤其是前台后台的概念总是相识的。

    而android系统同很多系统都是一样的,就是每个过程都是系统通知。

    或者说就是框架设计。

    android系统管理组件的各大框架,流程,而具体应用无需关心系统级的逻辑,页面切换,进程通信等问题。

    那么先来看Service的生命周期吧:如图:

    context.startService() ->onCreate()- >onStart()->Service running--调用context.stopService() ->onDestroy()

    context.bindService()->onCreate()->onBind()->Service running--调用>onUnbind() -> onDestroy() 从上诉可以知道分别对应本地的,,

    以及远程的,也对应不同的方式启动这个服务。

    3.service的类型

    本地服务和远程服务。

    本地服务主要应用于程序内部,由context.startService() 启动。

    远程服务一般供内部或者远程程序服务。由context.bindservice 启动。

    区别:

    1).本地服务,是client端启动的,但是启动以后,他们之间没有联系,service关闭,有它自己stopself。

    2).远程服务是client通过AIDL的方式启动,bindservice,他们就是就有了联系。

    AIDL可以通过代理的方式,使client端直接调用service的方法。

    4.service如何与activity交互

    本地服务,一般通过广播的方式传回service运行的结果。

    远程服务,可以通过观察者的方式,返回结果。

  • 相关阅读:
    redhat 5 中文乱码
    生成树
    交换机端口模式
    链路聚合
    AP注册
    信息收集
    Python 25 Django跨域请求
    Python 24 Django之csrf中间件
    Python 23 Django基础
    Python 21 Flask(三)第三方组件
  • 原文地址:https://www.cnblogs.com/deman/p/4229429.html
Copyright © 2011-2022 走看看