Android总结七(Service)

一.服务

  1.什么是服务?

    Service是一个可以长期在后台运行, 没有界面的组件.

    它可以被其他组件绑定, 可以在进程之间通信.

  2.创建Service

    定义类继承Service, 实现回调函数.

    在清单文件中声明<service>

  3.启动服务,停止服务

    在其他组件中可以调用startService()方法启动一个服务, 可以调用stopService()方法停止一个服务

    在服务中可以使用stopSelf()方法停止服务。如果stopSelf()方法不传任何参数, 就是立即停止, 无论是否还有其他未执行结束的, 都会立即停止;传入startId则是等到所有其他的start()执行结束后再停止服务。

  4.耗时操作

    如果需要在服务中做耗时的操作, 那么也需要开启新的线程.

    如果希望服务长期运行, 即使在内存不足的时候也不要被杀, 那么可以设置为前台服务. startForeground()

  

Android总结七(Service)

时间: 2024-10-08 22:34:12

Android总结七(Service)的相关文章

(转载)Android中的Service:Binder,Messenger,AIDL(2)

前言 前面一篇博文介绍了关于Service的一些基本知识,包括service是什么,怎么创建一个service,创建了一个service之后如何启动它等等.在这一篇博文里有一些需要前一篇铺垫的东西,建议没有看过前一篇博文的同学先去看一下前一篇: Android中的Service:默默的奉献者 (1) . 但是在前一篇博文中也有一些遗漏的东西--主要是关于bindService()这一块的具体细节.由于这一块涉及的东西还是比较多,所以在这里单独提出来了.闲话不多说,进入正文. 1.bindServ

Android:远程服务Service(含AIDL &amp; IPC讲解)

前言 Service作为Android四大组件之一,应用非常广泛 本文将介绍Service其中一种常见用法:远程Service 如果你对Service还未了解,建议先阅读我写的另外一篇文章: Android四大组件:Service史上最全面解析 目录 1. 远程服务与本地服务的区别 远程服务与本地服务最大的区别是:远程Service与调用者不在同一个进程里(即远程Service是运行在另外一个进程):而本地服务则是与调用者运行在同一个进程里 二者区别的详细区别如下图: 2. 使用场景 多个应用程

Android 双进程Service常驻后台,无惧“一键清理”

本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 最近项目用到Service常驻后台,研究了一下发现手Q和微信都是使用了双进程来保证一键清理后自动复活,copy网上双进程Service的例子,再结合onTrimMemory(),基本实现一键清理后自动复活. 使用双进程Service,关键是在AndroidManifest.xml里面定义Service时加入android:process=":service1": <service andro

Android平台调用Web Service:线程返回值

接上文 前文中的遗留问题 对于Java多线程的理解,我以前仅仅局限于实现Runnable接口或者继承Thread类,然后重写run()方法,最后start()调用就算完事,但是一旦涉及死锁以及对共享资源的访问和随时监控线程的状态和执行顺序和线程返回值等就不行了. Callable 和 Future 简介 Callable接口代表一段可以调用并返回结果的代码;Future接口表示是执行异步任务时的状态.返回值等信息.所以说Callable用于产生结果,Future用于获取结果. 1. Callab

Android IntentService vs Service

Android IntentService vs Service 众所周知,Android中的Service是用于后台服务的,当应用程序被挂到后台的时候,为了保证应用中某些功能仍然可以工作而引入了Service,比如播放音乐.针对service,官方文档有2点重要说明: 1. A Service is not a separate process. The Service object itself does not imply it is running in its own process;

Android平台调用Web Service:引入线程

接上文 遗留问题 MainActivity的onCreate方法中如果没有有这段代码: // 强制在UI线程中操作 StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads().detectDiskWrites().detectNetwork() .penaltyLog().build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Bu

Android 组件之Service解析

原创文章,转载请注明 http://blog.csdn.net/leejizhou/article/details/50866875 李济洲的博客 Service是Android四大组件之中的一个.Service主要作用于后台,能够进行一些后台的操作,它没实用户界面.它跟Activity比較类似,某种意义上能够理解为"Service是没实用户界面的Activity",那么我们什么时候须要使用Service呢?比如:音乐App正在播放音乐我们想切换到阅读App又不想让音乐停止就会用到Se

Android平台调用Web Service:演示样例

近期在学习Android,随着移动设备的流行,当软件走上商业化的道路.为了争夺市场,肯定须要支持Android的,所以開始接触了Android,只是仅仅了解皮毛就好,由于我们要做管理者嘛.懂点Android.管理起来easy些. Android学起来也简单,封装的更好了,一个个的控件,像是又回到了VB的赶脚. 以下将通过一个演示样例解说怎样在Android平台调用Web Service. 我们使用互联网现成的Webservice.供查询手机号码归属地的Web service,它的WSDL为htt

Android学习总结——Service组件

从Service的启动方式上,可以将Service分为Started Service和Bound Service.在使用Service时,要想系统能够找到此自定义Service,无论哪种类型,都需要在AndroidManifest.xml中声明: <service android:name=".MyService"> 一:StartService方式启动服务 Started Service相对比较简单,通过context.startService(Intent servic