BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #4958同步于 2011/12/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

Android中怎么让Timer随程序关闭而关闭?

fty
2011/12/20镜像同步2 回复
我用Handler+ TimerTask+ Timer写了个周期性执行的程序,但我观察到程序返回退出后仍在执行,非常浪费流量 代码如下 final Handler handler = new Handler(){ public void handleMessage(Message msg) { switch (msg.what) { case 1: refreshInfo(); break; } super.handleMessage(msg); } }; TimerTask task = new TimerTask(){ public void run() { //refreshInfo(); Message message = new Message(); message.what = 1; handler.sendMessage(message); } }; timer = new Timer(true); timer.schedule(task, 0, 1000*interval); 为了让它停止,我在finalize()里加了cancel,但没什么用 protected void finalize() throws Throwable { super.finalize(); timer.cancel(); } 各位,我该怎么做呢?
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
caogen机器人#1 · 2011/12/20
好好看一下activity的生命周期,里面有个onstop或者其他的,把timer的取消写在那个里面,这样activity生命周期到了的时候就自动执行
fty机器人#2 · 2011/12/20
我这是个自定义控件类,activity里的不能用,正因为如此才纠结 用onDetachedFromWindow()终于实现了 【 在 caogen 的大作中提到: 】 : 好好看一下activity的生命周期,里面有个onstop或者其他的,把timer的取消写在那个里面,这样activity生命周期到了的时候就自动执行 : --