zoukankan      html  css  js  c++  java
  • Android Service小记

    Service 是Android 的一种组件,跟线程无关。

    Service 分两种启动方式 startService()和bindService()

    两种都需要在Androidmanifest.xml配置

    <service android:name="com.xx.xx"></service>

    两种Intent均可以使用 

    Intent intent= new Intent("com.itg.download");

    或者

    Intent intent= new Intent(context,service.class);

    两种启动方式

    生命周期

    startService: 未创建:onCreate()->onStartCommand()->onStop()->onDestroy()

           已创建:onStartCommand()->onStop()->OnDestroy()

    bindService:未创建:onCreate()->onBind()->onUnbind()->onDestroy()

           已创建:onBind()->onUnbind()->onDestroy()

    即:两者onCreate()方法只会执行一次。两者即使多次被创建但只会有一个service实例。

          startService方式,一经创建,即使依赖的Activity被摧毁,依旧可以不受影响的运行;

          而bindService方式,随依赖的Activity销毁而结束。

    关于LocalService和RemoteService

    解释:localService即本地服务,生命周期依赖于主进程(UI进程)。remoteService,独立服务,被创建于独立进程,如需与UI交互,需要IPC。

    使用 两种启动方式默认即是localService;

          RemoteService,需配置

    1:<service android:name="com.xx.xx" process=":remote"></service>
    或:
    2:<service android:name="com.xx.xx" process=".remote"></service>
    区别:1:本应用私有服务独立进程。2:共享服务独立进程
    
    下面写法错误,打包会出错
    <service android:name="com.xx.xx" process="remote"></service>
    出错:INSTALL_PARSE_FAILED_MANIFEST_MALFORMED manifest 写法畸形 即写法不当。

    remote是service名字后缀,不限制。

  • 相关阅读:
    Python Requests-学习笔记(9)-错误与异常
    .NET C# 创建WebService服务简单的例子
    10个免费开源的JS音乐播放器插件
    7款高颜值HTML5播放器:让你的音乐有声有色
    Asp.net基于session实现购物车的方法
    ASP.NET用GridView控件实现购物车功能
    jquery鼠标跟随流体吸引特效
    jquery鼠标跟随特效
    JQUERY互动星空粒子背景效果
    jQuery插件库常用前端库引用地址
  • 原文地址:https://www.cnblogs.com/newsouls/p/4975115.html
Copyright © 2011-2022 走看看