zoukankan      html  css  js  c++  java
  • Service的启动方式

    Service的启动方式:

    两种启动模式,一种是非绑定启动模式,另一种是绑定启动模式。

    一、startservice方式启动

    1         Intent intent = new Intent(this, FirstService.class);
    2         // 开启服务
    3         startService(intent);

    二、绑定启动模式

    bindService

            Intent intent = new Intent(this,FirstService.class);
            
            //连接到服务FirstService 
            
             conn = new MyConn();
             bindService(intent,conn, BIND_AUTO_CREATE);

    区别:

    1.非绑定模式启动的话,启动之后就会在内存中长期运行,直到手动停止它

    2.绑定模式启动,是跟可视化界面绑定的,界面看得见的话,服务就存在;按home键或者back键回到桌面的话服务就挂掉了。

    绑定模式多次绑定跟一次绑定有什么区别:

    多次绑定,不会报错,什么生命周期方法都不会执行,

    解绑只能解绑一次,多次解绑报错

    ps:混合方式启动服务,可以保证服务长期运行,并能调用服务里的方法,做法如下:

    1.先用startservice保证服务在系统里长期运行;

    2.再用onbind方法,获得中间人对象(Ibinder),即可调用服务里的方法

    3.用unbind可以解绑

    4.用stopservice可以停止服务

  • 相关阅读:
    node--ubuntu 安装
    vue+node 全栈开发 --- 同时运行vue和node
    vue-$nextTick() 没有获取到DOM
    Window Terminal
    解析NaN
    HTML页面预览表格文件内容
    python爬虫-爬坑之路
    VSCode-VUE模板文件
    markdown-sample.md
    待继续博文
  • 原文地址:https://www.cnblogs.com/johnsonwei/p/5810452.html
Copyright © 2011-2022 走看看