service&thread

service:在后台静默运行。服务必须在一个线程中才能运行。长时间的在后台运行,而且不需要交互的情况下,使用服务。

thread:在后台运行,但是可以与用户进行相应的交互操作。比如说,音乐播放器,后台操控播放下一首音乐。Thread 的运行是独立于 Activity 的,也就是说当一个 Activity 被 finish 之后,如果你没有主动停止 Thread 或者 Thread 里的 run 方法没有执行完毕的话,Thread 也会一直执行。

时间: 2024-10-17 06:29:30

service&thread的相关文章

Android 轮询最佳实践 Service + AlarmManager+Thread

android中涉及到将服务器中数据变化信息通知用户一般有两种办法,推送和轮询. 消息推送是服务端主动发消息给客户端,因为第一时间知道数据发生变化的是服务器自己,所以推送的优势是实时性高.但服务器主动推送需要单独开发一套能让客户端持久连接的服务端程序,不过现在已经有很多开源的代码实现了基于xmmp协议的推送方案,而且还可以使用谷歌的推送方案.但有些情况下并不需要服务端主动推送,而是在一定的时间间隔内客户端主动发起查询. 譬如有这样一个app,实时性要求不高,每天只要能获取10次最新数据就能满足要

Android 轮询之 Service + AlarmManager+Thread (转)

android中涉及到将服务器中数据变化信息通知用户一般有两种办法,推送和轮询. 消息推送是服务端主动发消息给客户端,因为第一时间知道数据发生变化的是服务器自己,所以推送的优势是实时性高.但服务器主动推送需要单独开发一套能让客户端持久连接的服务端程序,不过现在已经有很多开源的代码实现了基于xmmp协议的推送方案,而且还可以使用谷歌的推送方案.但有些情况下并不需要服务端主动推送,而是在一定的时间间隔内客户端主动发起查询. 譬如有这样一个app,实时性要求不高,每天只要能获取10次最新数据就能满足要

JBOSS启动报错Failed to start service jboss.web.deployment.default-host.

14:10:01,487 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.web.deployment.default-host./: org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./: Failed to start serv

android service和activity的通讯

我们须要用下面方式来启动service: </pre><pre name="code" class="java"><span style="white-space:pre"> </span>Intent intent = new Intent(); intent.setClass(MainActivity.this, MyService.class); <strong>bindServi

如何写一个程序升级的service

这个升级可以在程序启动时调用: 首先建立一个service的类:MyService extends Service,然后在menifest中声明: <service android:name=".MyService"></service> 这样来调用: Intent intent = new Intent(); intent.setClass(MainActivity.this, MyService.class); <strong>startServ

runnable与Thread

Java多线程是Java开发中的基础内容,但是涉及到高并发就有很深的研究可做了. 最近看了下<Java并发实战>,发先有些地方,虽然可以理解,但是自己在应用中很难下手. 所以还是先回顾一下基础知识: Java中的线程 线程的相关知识,了解操作系统的基本都能有所了解. 线程有5中状态,基本变化如图所示: 如何在Java代码中创建线程 众所周知,Java创建线程有两种方式: 1 实现Runable接口 2 继承Thread类 那么这两种方式有什么区别呢? 1 Runable属于接口,所以可以有多个

Java多线程之Runable与Thread

Java多线程是Java开发中的基础内容,但是涉及到高并发就有很深的研究可做了. 最近看了下<Java并发实战>,发先有些地方,虽然可以理解,但是自己在应用中很难下手. 所以还是先回顾一下基础知识: Java中的线程 线程的相关知识,了解操作系统的基本都能有所了解. 线程有5中状态,基本变化如图所示: 如何在Java代码中创建线程 众所周知,Java创建线程有两种方式: 1 实现Runable接口 2 继承Thread类 那么这两种方式有什么区别呢? 1 Runable属于接口,所以可以有多个

androi之Service+Broadcast+Timer+ui【通过绑定服务、自定义回调接口判断

最近项目要定时从服务器获取某些信息,通过研究来总结一下下[我以定时判断网络状态为例来阐述] 原理: 我们定义一个Service,在该Service中设置一个定时器Timer,通过TimerTask的策略来检查当前应用的网络连接状态,关键是在该Service需要自定义一个回调接口用于向我们的Activity来回调发送网络状态,然后通过Bind来绑定当前的Service,在绑定成功之后得到回调信息 代码: Service类 package com.example.androidtimerdemo;

Service框架浅析Google-Guava Concurrent

Guava包里的Service接口用于封装一个服务对象的运行状态.包括start和stop等方法.例如web服务器,RPC服务器.计时器等可以实现这个接口.对此类服务的状态管理并不轻松.需要对服务的开启/关闭进行妥善管理.特别是在多线程环境下尤为复杂.Guava包提供了一些基础类帮助你管理复杂的状态转换逻辑和同步细节. 使用一个服务 一个服务正常生命周期有: Service.State.NEWService.State.STARTINGService.State.RUNNINGService.S