【Android】Timer的使用

来源:互联网 发布:cn的域名好不好 编辑:程序博客网 时间:2024/05/16 12:29
通常情况下,这样使用计时器
Timer timer = new Timer();
MyTimerTask timerTask = new MyTimerTask();
timer.schedule(timerTask,5000);
 
 
class MyTimerTask extendsTimerTask{
 
@Override
public void run() {
Message msg = new Message();
msg.what=1;
HideHandler.sendMessage(msg);
}
}

我们首先自定义计时任务task,然后在里面结合Handler进行相应的UI的修改。

在Android开发中,经常会用到线程和 Timer,如果没有主动关闭它们,当程序结束时,线程并没有被销毁,而是一直在后台运行着,当我们重新启动应用时,又会重新启动一个线程,周而复始,你 启动应用次数越多,开启的线程数就越多,你的机器就会变得越慢。还会导致意想不到的错误。


所以我们一定要注意:
/**
* 在退出程序的时候需要销毁计时器,否则会占用很大资源
*/
@Override
protected void onDestroy() {
hideTimer.cancel();
super.onDestroy();
}


但是,Google在API中明文指出,Android并不推荐使用timer,因为计时功能可以用Handler实现

相关实现方法请见我的文章“【Android】fragment+Viewpager+自动隐藏的导航栏”
0 0