1.startservice (两种方法,继承service类或者继承intentservice 类)

继承service类,在onstartcommend重载方法中实现业务逻辑的处理,如果耗时过长最好新开一个线程,因为默认是在程序的主线程中,会造成阻塞等问题。

在有多个请求的时候,为了防止在第一个请求结束服务的时候第二个请求刚好传入,但因为服务被结束而失败,可以使用startid 配合 stopself(startid)进行判断,如果stopself(startid)中的ID与现有onstartcommdID不同的话就不会结束服务。

继承intentservice类,在onhandleintent中实现业务逻辑,该类其实是封装了hanlder处理方法,每次都是新开一个线程,可以排队处理多个请求,可以对请求进行异步处理,不用担心UI阻塞的问题,在所有的请求都处理完毕之后会自动关闭服务

2.bindservice

依然是继承service类,是通过startbindservice()进行启动,在service中实现onbind()进行业务处理,可以绑定多个启动者,并在onbind方法的返回值处返回自定义的继承了Binder类的实例,来让启动Activity获得该实例,用来执行一些service内部的公用方法,实现调用者和服务之间的通信。

当每一个该类型服务的调用者都与该service解除绑定之后,该实例会自动销毁。

关于android中两种service的编写简单总结的更多相关文章

  1. Android中两种设置全屏或者无标题的方法

    在开发中我们经常需要把我们的应用设置为全屏或者不想要title, 这里是有两种方法的,一种是在代码中设置,另一种方法是在配置文件里改: 一.在代码中设置: package jason.tutor; i ...

  2. Android中两种设置全屏的方法

    设置全屏的两种方法: 第一种:在配置文件里面配置: <?xml version="1.0" encoding="utf-8"?><manife ...

  3. android中两种方式打开网页

    一.你要打开一个网页你可以自己写一个webview,在自己的程序中就可以打开. wv = (WebView) findViewById(R.id.webView1); wv.getSettings() ...

  4. Unity调用Android的两种方式:其一、调用jar包

    unity在Android端开发的时候,免不了要调用Java:Unity可以通过两种方式来调用Android:一是调用jar.二是调用aar. 这篇文章主要讲解怎么从无到有的生成一个jar包,然后un ...

  5. jsp中两种include的区别【转】

    引用文章:http://www.ibm.com/developerworks/cn/java/j-jsp04293/ http://www.cnblogs.com/lazycoding/archive ...

  6. mybatis中两种取值方式?谈谈Spring框架理解?

    1.mybatis中两种取值方式? 回答:Mybatis中取值方式有几种?各自区别是什么? Mybatis取值方式就是说在Mapper文件中获取service传过来的值的方法,总共有两种方式,通过 $ ...

  7. Android中三种超实用的滑屏方式汇总(转载)

    Android中三种超实用的滑屏方式汇总   现如今主流的Android应用中,都少不了左右滑动滚屏这项功能,(貌似现在好多人使用智能机都习惯性的有事没事的左右滑屏,也不知道在干什么...嘿嘿),由于 ...

  8. OC中两种单例实现方式

    OC中两种单例实现方式 写在前面 前两天探索了一下C++ 的单例,领悟深刻了许多.今天来看看OC中的单例又是怎么回事.查看相关资料,发现在OC中一般有两种实现单例的方式,一种方式是跟C++ 中类似的常 ...

  9. JAVA 中两种判断输入的是否是数字的方法__正则化_

    JAVA 中两种判断输入的是否是数字的方法 package t0806; import java.io.*; import java.util.regex.*; public class zhengz ...

随机推荐

  1. Filebeat 导入 Elasticsearch 的方法

    Filebeat 导入 Elastaticsearch 的方法 1. 什么是Filebeat?到底是干什么的? Filebeat说实话,就是一个日志监控分发器,类似tail -f这样去监控某个日志,或 ...

  2. RockerMQ connect to<:10009>fail

    producer端发送报错 com.alibaba.rocketmq.client.exception.MQClientException: Send [] times, still failed, ...

  3. finally return 执行关系 异常处理 c#

    Return.finally执行关系简述 除了函数出现system.exit(0)终止虚拟机,finally中的代码一定执行,return语句会等待finally的执行:如果是值传递,finally中 ...

  4. Data Structure Array: Program for array rotation

    http://www.geeksforgeeks.org/array-rotation/ O(n), O(1) #include <iostream> #include <vecto ...

  5. jQuery水平滑动菜单

    在线演示 本地下载

  6. 从输入url到浏览器呈现网页发生了什么?

    大致能分成两个部分:网络通信与页面渲染 一.网络通信 互联网各个网络设备间的通信均基于TCP/IP协议,此协议将整个过程进行分层,由上至下分别为: 应用层.传输层.网络层和数据链路层 1.输入URL ...

  7. web前端框架之自定义form表单验证

    自定义form验证初试 .在后端创建一个类MainForm,并且在类中自定义host ip port phone等,然后写入方法,在post方法中创建MainForm对象,并且把post方法中的sel ...

  8. find查找文件

    linux下最强大的搜索命令为”find“. 它的格式为”find <指定目录> <指定条件> <指定动作>“: 比如使用find命令搜索在根目录下的所有inter ...

  9. BestCoder Round #4 之 Miaomiao's Geometry(2014/8/10)

    最后收到邮件说注意小数的问题!此代码并没有过所有数据,请读者参考算法, 自己再去修改一下吧!注意小数问题! Miaomiao's Geometry Time Limit: 2000/1000 MS ( ...

  10. 什么是shell【TLCL】

    常用命令 date cal df——report file system disk space usage free——display amount of free and used memory i ...