Timer与AlarmManager的差别】的更多相关文章

线程 通过调用Thread类的 start()方法来启动一个线程,这时此线程处于就绪(可执行)状态.但此时并没有执行,它须要CPU时间片. 一旦得到CPU时间片.就会执行run()方法. run()的方法体称为线程体,它包括了要执行的这个线程的内容,run()方法执行结束.此线程也随即终止. 线程状态转换 一.新建(new):新创建了一个线程对象. 二.可执行(runnable):线程对象创建后,其它线程(比方main线程)调用了该对象的start()方法. 该状态的线程位于可执行线程池中,等待…
Android实现定时任务一般会使用以上(Handler Timer Thread AlarmManager CountDownTimer)五种方式.当然还有很多组合使用(比如Handler+Thread 比如Handler类自带的postDelyed 比如Handler+Timer+TimerTask)的方式就不一一说明了,知道了每个小部分的使用结合起来使用当然就不是问题啦. 本文以简单的实现1s让数字加1的一个小实例.(考虑只点击一次的情况.连续点击 需要控制没有结束的时候 不许点击的逻辑)…
Timer主要用于创建一个任务来定期运行. 创建继承Task该任务等级.即任务每次跑. private class MyTask extends TimerTask { @Override public void run() { Message msg = new Message(); msg.what = 1; handler.sendMessage(msg); } } } 之后就能够使用了 Timer timer = new Timer(); timer.schedule(new MyTas…
解决数据同步的问题:常用的方法有2种. (1) 定时去服务器上查询数据,也叫Polling. (2) 手机跟服务器之间维护一个 TCP 长连接,或者使用SMS,当服务器有数据时,实时推送到客户端,也就是我们说的 Push. 1. SMS(Push)方式:在Android平台上,你可以通过拦截SMS消息并且解析消息内容来了解服务器的意图,并获取其显示内容进行处 理.这是一个不错的想法,我就见过采用这个方案的应用程序.这个方案的好处是,可以实现完全的实时操作.但是问题是这个方案的成本相对比较高,我们…
1.Thread:使用线程方式2.Timer是java的特性3.AlarmManager:AlarmManager将应用与服务分割开来后,使得应用程序开发者不用 关心具体的服务,而是直接通过AlarmManager来使用这种服务. 1.使用Java.util.Timer Timer mTimer = new Timer(); TimerTask task = new TimerTask() { @Override public void run() { mHandler.sendEmptyMes…
System.Windows.Forms.Timer.System.Timers.Timer.System.Threading.Timer的 区别和用法http://space.itpub.net/12639172/viewspace-571197 http://msdn.microsoft.com/en-us/magazine/cc164015.aspx ================================================== System.Windows.Form…
1.AlarmManager,顾名思义,就是“提醒”,是Android中常用的一种系统级别的提示服务,可以实现从指定时间开始,以一个固定的间隔时间执行某项操作,所以常常与广播(Broadcast)连用,实现闹钟等提示功能 2.AlarmManager的常用方法有三个: (1)set(int type,long startTime,PendingIntent pi): 该方法用于设置一次性闹钟,第一个参数表示闹钟类型,第二个参数表示闹钟执行时间,第三个参数表示闹钟响应动作. (2)setRepea…
新建一个Service来模拟后台执行的程序,PollingService.java: package com.ryantang.rtpollingdemo; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.app.Service; import android.content.Intent; impor…
在开发互联网应用时候,我们常常要使用心跳来保证客户端与服务器的连接.怎么完成心跳很关键,在说道客户端心跳功能时,如果使用Timer或者专门开起一个线程来做心跳的工作,会浪费CPU工作时间,而且也会更多的消耗电量.相对来说使用AlarmManager 来处理心跳的话,使用的是系统全局的定时服务,会一定成都减少CPU的消耗,耗电量也会少很多.正好这段时间也要做推送,就顺便学习了一下怎么做心跳. // 取消已经注册的与参数匹配的闹铃 void   cancel(PendingIntent operat…
AlarmManager的使用机制有的称呼为全局定时器,有的称呼为闹钟.通过对它的使用,个人觉得叫全局定时器比较合适,其实它的作用和Timer有点相似.都有两种相似的用法:(1)在指定时长后执行某项操作(2)周期性的执行某项操作 AlarmManager对象配合Intent使用,可以定时的开启一个Activity,发送一个BroadCast,或者开启一个Service. 下面的代码详细的介绍了两种定时方式的使用: (1)在指定时长后执行某项操作 //操作:发送一个广播,广播接收后Toast提示定…