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可以停止服务

  • 相关阅读:
    【VUE】自定义组件
    【docker】Dockerfile
    【docker】常用命令
    【Java Web开发学习】跨域请求
    xshell6和xftp6运行提示缺少mfc110u.dll文件的解决办法
    【NPM】使用问题记录
    【Zuul】使用学习
    第八章 泛型程序设计
    第九章 集合
    分布式系列二: 分布式系统的通信
  • 原文地址:https://www.cnblogs.com/johnsonwei/p/5810452.html
Copyright © 2011-2022 走看看