Ⅰ 一个android Timer,为什么只执行了一次
public void getPaisong() {
final Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case 1: {
// 初始化搜索模块,注册事件监听
mSearch = new MKSearch();
mSearch.init(app.mBMapMan, new MyMKSearchListener());
jiexi();
cou++;
Toast.makeText(
BMapApiDemoApp.mDemoApp.getApplicationContext(),
"执行了"+cou+"一次!", Toast.LENGTH_LONG).show();
}
break;
}
super.handleMessage(msg);
}
};
TimerTask task = new TimerTask() {
public void run() {
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}
};
timer = new Timer(true);
timer.schele(task, 5000); // 延时1000ms后执行,1000ms执行一次
// timer.cancel(); //退出计时器
}
我在oncreate方法里直接调用了getPaisong()方法,可是只显示cou=1
Ⅱ 一个android Timer,为什么只执行了一次
通过 timer.schele执行的?那注意参数写法, timer.schele(task,1000,5000),表示1秒后开始,5秒为周期,循环执行, timer.schele(task,5000),表示5秒后执行一次结束。
Ⅲ focustimer安卓能用吗
可以
FocusTimer安卓中文版是一款提升工作效率的软件,这款软件跟着名的番茄应用Focus Time仅一个字母的差别,功能方面也是不输于Focus Time。这款软件最大的特色就是翻转手机来专注于当前的任务,你需要专心完成当前的工作,每次翻转手手机代表开始一项新的工作,作为一款提升工作效率的软件还是相当实用的。
Ⅳ 如何定时刷新Android界面
Handler.sendEmptyMessageDelayed(0, 1000);来实现
sendEmptyMessageDelayed:延时多少毫秒,向Handler发送信息
具体代码和效果
每隔1秒刷新一次时间
Ⅳ android用timer做定时任务,崩溃的原因
在做定时任务的时候,有的同学可能能会用到Timer这个定时任务的辅助类,
但是使用它会有潜在的风险,风险如下,
(1)时间计算不准确问题
因为Timer是以绝对时间计算定时任务的,会受到系统时间的影响,如果在任务执行期间,更改了系统时间,那么会
导致时间计算不准确问题,导致任务没用按找预定的时间执行。
(2)只能单任务执行
简单讲就是,只能一次执行一个任务,如果前一个任务没有执行完成,后一个任务是无法并行执行的,只能等待前一个任务执行完成
才能执行。也有可能会出现这样的结果,前一个任务执行的时间太长,后几个任务时间短,可能在一个时间段内执行了多个任务,任务又
没有按照我们要执行的时间执行。
(3)非检查异常导致异步任务终止
Timer当在执行的过程中遇到非检查异常的时候,会导致本次任务失败,并且接下来的任务也无法被执行,Timer将会终止执行,这不是
我们要的结果,我们需要一套恢复机制。
java5以后可以用下面的这个类来替代Time,并且解决了以上三个问题
java.util.concurrent.ScheledThreadPoolExecutor
那么在Android上呢,可以用 java.util.concurrent.ScheledThreadPoolExecutor,也可以用Handler机制做,
但是不建议使用Timer
Ⅵ 求教为什么Android Timer在后台运行,开始正常,但每次都不定时的突然结束了跪求,谢谢
应该是系统的内存的问题。