导航:首页 > 操作系统 > android定时任务

android定时任务

发布时间:2022-01-24 23:32:51

android用timer做定时任务,崩溃的原因

在做定时任务的时候,有的同学可能能会用到Timer这个定时任务的辅助类,
但是使用它会有潜在的风险,风险如下,
(1)时间计算不准确问题
因为Timer是以绝对时间计算定时任务的,会受到系统时间的影响,如果在任务执行期间,更改了系统时间,那么会
导致时间计算不准确问题,导致任务没用按找预定的时间执行。
(2)只能单任务执行
简单讲就是,只能一次执行一个任务,如果前一个任务没有执行完成,后一个任务是无法并行执行的,只能等待前一个任务执行完成
才能执行。也有可能会出现这样的结果,前一个任务执行的时间太长,后几个任务时间短,可能在一个时间段内执行了多个任务,任务又
没有按照我们要执行的时间执行。
(3)非检查异常导致异步任务终止
Timer当在执行的过程中遇到非检查异常的时候,会导致本次任务失败,并且接下来的任务也无法被执行,Timer将会终止执行,这不是
我们要的结果,我们需要一套恢复机制。

java5以后可以用下面的这个类来替代Time,并且解决了以上三个问题
java.util.concurrent.ScheledThreadPoolExecutor

那么在Android上呢,可以用 java.util.concurrent.ScheledThreadPoolExecutor,也可以用Handler机制做,
但是不建议使用Timer

Ⅱ android 关于定时执行问题

Handler.postDelayed的Integer参数代表是毫秒,你给的1000意思是一秒钟,如果你是重复执行某一任务,延迟时间是上一次任务执行完毕,再等待十秒,你虽然延迟的是一秒,但可能gps(),代码执行需要9秒。

Ⅲ 安卓定时器Handler如何关闭

{
publicTimeCounts(longmillisInFuture,longcountDownInterval){
super(millisInFuture,countDownInterval);//参数依次为总时长,和计时的时间间隔
}

@Override
publicvoidonFinish(){//计时完毕时触发

}

@Override
publicvoidonTick(longmillisUntilFinished){//计时过程显示
//倒计时数可以写在这儿
}
}

TimeCounts timeCounts = new TimeCounts(30000, 1000);//总时长30s,间隔1s

timeCounts.start();//倒计时开始

timeCounts.cancel();//取消倒计时

Ⅳ java/安卓关于Timer,task,schele重新设置定时任务时间的问题

先cancel,然后再重新实例化、设定时间

Ⅳ 安卓手机定时任务软件

可以先在手机日历中选择新建事件,然后在对应日期设置提醒,接着再选择重复以及提醒的频率和时间即可。你也可以在手机自带的便签或备忘录中添加日程提醒,这样它也可以准时提醒你。或者你也可以在手机上使用敬业签,因为它支持自定义周期重复提醒的功能,而且除了支持公历日期提醒外,还能按照农历日期设置提醒。

Ⅵ 安卓定时任务软件

没用过定时打电话,发短信的那种的,好像是有的。我一直用这个,是切换飞行模式,情景模式,WIFI的。

http://shouji..com/soft/item?docid=4385360&f=search_app_%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1%40list_1_title%402

Ⅶ android怎么设置一个定时的任务

我知道的有三种方法;
方法一:可以通过android自带的Handler机制,里面有new Handler().postDelayed(new Runnable(){
@Override
public void run() {
//延迟的时间到了执行
}
},延迟的时间);

方法二:可以通过java里面的线程来写,new Thread().sleep(延迟时间);时间到了会继续执行;
方法三:java定时器(有很多方法)例如:
Timer timer = new Timer();
timer.schele(new TimerTask() {
public void run() {
System.out.println("-------设定要指定任务--------");
}
}, long delay,long period);
delay延迟的时间,period为多久执行一次;
个人推荐用方法一,毕竟安卓系统自带的,并且安卓不适合加定时器,如果处理不当一直执行的话,要么卡,要么程序崩溃。还有发布版本可能审核不通过。

Ⅷ Android 定时执行任务的几种方法

alarmManager
Timer
Handler

Ⅸ android定时器alarmmanager和timer的区别

Java的Timer类可以用来计划需要循环执行的任务。
简单的说,一个Timer内部封装装了“一个Thread”和“一个TimerTask队列”,这个队列按照一定的方式将任务排队处理。封装的Thread在Timer的构造方法调用时被启动,这个Thread的run方法按照条件去循环这个TimerTask队列,然后调用TimerTask的run方法。

但是,如果CPU进入了休眠状态,那么这个thread将会因为失去CPU时间片而阻塞,从而造成我们需要的定时任务失效。上述定时任务失效的场景分析:假设定时任务的条件是到了时间xx:yy才能执行,但由于cpu休眠造成线程阻塞的关系,当前系统时间超过了这个时间,即便CPU从终端中恢复了,那么由于条件不满足,定时任务在这一次自然就失效了。

它需要用WakeLock让CPU 保持唤醒状态。这样会大量消耗手机电量,大大减短手机待机时间。这种方式不能满足需求。

AlarmManager是Android 系统封装的用于管理RTC的模块,RTC(Real Time Clock) 是一个独立的硬件时钟,可以在 CPU 休眠时正常运行,在预设的时间到达时,通过中断唤醒CPU。这意味着,如果我们用 AlarmManager 来定时执行任务,CPU 可以正常的休眠,只有在需要运行任务时醒来一段很短的时间。

Ⅹ 如何在android应用中定时进行操作

在手机上安装定时达人软件

定时达人有自己的网站,相关应用在各大应用商城也有。可以通过apk进行安装,可以从应用商店下载安装。我是从google play上下载安装的。

添加新任务

设置任务——设置时间

设置任务——给任务取个名字

设置任务——添加新任务

选择运行程序一栏

设置任务——选择定时打开的应用程序

点击应用程序,选择读者。

保存设置

这里需要点两次保存,之后就回到了定时达人主页面。

8

通过立即执行进行测试设置效果

单击定时打开读者一栏,在弹出下拉框中选择立即执行来立即执行任务。在设置正确的情况下读者应用被打开,通知栏会有相应通知提示。

在之前的设置步骤中,保持了默认的循环方式,即周循环,一周的每一天都选中。按照设置,每一天的指定时间都可以自动打开相应应用。

阅读全文

与android定时任务相关的资料

热点内容
linux下的软连接 浏览:604
fib在python是什么意思 浏览:532
c调用命令行 浏览:940
阿里云服务器中没有apt 浏览:610
发送信息需要用户加密吗 浏览:636
六年级分数乘分数有几种算法 浏览:298
到哪里查自己的app账号 浏览:122
光大app点击哪里可以查年费 浏览:877
加密狗软件先安装还是先先后顺序 浏览:355
柱头加密区箍筋间距一般多少 浏览:683
美团商家版本服务中心在app哪里 浏览:989
androidgps调试 浏览:821
比心app怎么下载官方 浏览:50
安卓怎么隐藏手机上的app 浏览:582
hp光纤交换机命令 浏览:898
pythonhive导入数据 浏览:675
安卓手机屏幕按住一直抖怎么办 浏览:196
压缩率公式 浏览:323
蓝虎app怎么下载 浏览:616
周易江湖pdf 浏览:861