`
fonter
  • 浏览: 868258 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android Timer 更好方法

阅读更多

Android 的Timer 一般如下面所写

 

	Timer timer = new Timer();
	TimerTask task = new TimerTask() {
		public void run() {
			Message message = new Message();
			message.what = 1;
			handler.sendMessage(message);

		}

	};

 

	final Handler handler = new Handler() {

		public void handleMessage(Message msg) {
			switch (msg.what) {
			case 1:
				Log.e("Timer", "Timer");
				update();
				break;
			}
			super.handleMessage(msg);
		}

	};

 

	protected void onDestroy() {
		if (timer != null) {
			timer.cancel();
			timer = null;
		}
		super.onDestroy();
	}

 

最重要一点是timer.schedule(task, 1000, 5000);如果设置为timer.schedule(task, 5000)是不会工作的。

 

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		this.setContentView(R.layout.main);
                                timer.schedule(task, 1000, 5000);
                 }

  

但更好的方法是通过下面的代码

 

	private Handler handler = new Handler();

	private Runnable runnable = new Runnable() {

		public void run() {
			update();
			handler.postDelayed(this, 1000);
		}

	};

 

开始Timer

 

handler.postDelayed(runnable, 1000);

 

停止Timer

 

handler.removeCallbacks(runnable);

 

可浏览下面的资料:http://www.muktosoft.com/blog/timer-in-android-the-better-way/

分享到:
评论
1 楼 xueji5368 2013-09-05  
handler.removeCallbacks(runnable);  这方根本就没用,代码还是会执行的。

相关推荐

    Android---Service Timer之执行周期任务

    在Android应用开发中,Service和Timer是两个非常重要的组件,它们可以帮助我们实现后台服务和定时...在实际应用中,还应该考虑使用JobScheduler或WorkManager等现代API,以更好地适应Android系统的电源管理和后台限制。

    Android定时器Timer的停止和重启实现代码

    Android定时器Timer的停止和重启实现代码 Android平台提供了多种方式来实现定时器功能,其中Timer是最常用的方式之一。然而,在实际开发中,我们...希望这篇文章能够帮助读者更好地理解Android平台上的定时器实现。

    android学习日记-3 Timer

    在Android开发中,`Timer`类是一个非常常用的工具,它用于调度周期性的任务执行,比如定时刷新界面、定期发送网络请求等。...在阅读这篇博客后,开发者能更好地掌握`Timer`的使用技巧,提升自己的编程能力。

    Android 之Timer

    通过阅读这些内容,开发者可以更好地理解`Timer`的工作机制,从而在实际项目中做出更明智的选择。 总之,`Timer`和`TimerTask`是Java中强大的工具,但它们的使用需谨慎,尤其是在Android环境下。理解它们的工作原理...

    定时器的封装类,可直接并列com包使用

    然而,由于`Timer`的线程模型可能导致任务执行顺序的不可预测性(尤其是当多个任务接近其调度时间时),所以在并发密集的场景下,Java 5引入的`ScheduledExecutorService`可能是一个更好的选择。`...

    Android RxJava创建操作符Timer的方法

    总结来说,`Observable.timer()`是Android RxJava中一个强大且实用的操作符,它提供了灵活的定时和延迟执行功能,使开发者能更好地管理异步任务,并通过响应式编程的方式提高代码的可维护性和性能。

    timer组件显示图片

    在编程领域,`Timer`组件是一种常见的工具,用于在特定的时间间隔内触发事件或执行某项任务。在本例中,我们关注的是如何利用`...对于初学者来说,理解这个例子能帮助他们更好地掌握事件驱动编程和`Timer`组件的使用。

    Android Timer使用的实例代码

    在Android开发中,`Timer` 是一个非常有用的...注意,虽然`Timer`在很多场景下工作良好,但在性能要求较高的定时任务中,建议使用`Handler`或者`ScheduledExecutorService`,因为它们提供了更好的线程管理和调度能力。

    android使用MaterialDialog和AlertDialog弹框Timer倒计时的用法

    通过`CountDownTimer`结合这两个弹框,我们可以创建出符合用户需求的倒计时提示,为用户提供更好的交互体验。记得在用户点击取消时,调用`CountDownTimer`的`cancel()`方法,以停止不必要的资源消耗。在倒计时结束后...

    Android间隔1秒更新UI的4种方法

    本文将详细介绍四种在Android中实现1秒间隔更新UI的方法。这四种方法分别是:Handler、Runnable、TimerTask和CountDownTimer。每种方法都有其特点和适用场景,开发者可以根据实际需求选择最合适的方式。 1. **...

    java中timer的schedule和scheduleAtFixedRate方法区别详解

    本文将详细介绍这两个方法的区别,帮助读者更好地理解和使用 Java 的 Timer 类。 schedule 方法 schedule 方法用于安排一个任务在指定的时间执行一次。该方法的签名为`public void schedule(TimerTask task, long ...

    android viewpager滑动效果

    在Android开发中,ViewPager是一个非常重要的组件,它用于展示多个页面并允许用户通过左右滑动来切换这些页面。...通过深入研究和实践,开发者可以更好地掌握这一组件,并在自己的应用中创造出令人印象深刻的用户体验。

    安卓Android源码——用ViewPager实现手动切换,用Timer + Handler实现自动切换.zip

    在安卓Android开发中,UI设计和用户体验是至关重要的部分,其中滑动切换页面的效果常常用于展示多页内容,如图片轮播、应用介绍等场景。...希望这个教程能帮助你更好地理解和使用Android中的ViewPager组件。

    android gif图片循环显示

    在Android中,处理这种格式的图片需要特别的方法,因为默认的ImageView组件并不支持GIF动画。 要实现在Android应用中显示GIF图片,我们可以使用以下几种方法: 1. **利用第三方库**:由于Android原生API对GIF支持...

    Android中使用定时器的三种方法

    在Android开发中,定时任务是常见且重要的功能,用于实现定时...在实际应用中,通常还会考虑使用Android的`AlarmManager`或`JobScheduler`等系统服务进行定时任务,它们可以更好地处理设备休眠等状态,确保任务的执行。

    android多种定时器实现

    在Android开发中,定时任务是十分常见的需求,用于执行周期性的操作或者在特定时间点触发某项功能。...同时,实践是最好的老师,动手尝试编写和调试这些定时器,将有助于你更好地掌握Android定时任务的实现。

    Android倒计时 计时器

    `CountDownTimer`适合简单的倒计时场景,而`Timer`和`TimerTask`更适合需要周期性执行任务的情况。在实际开发中,结合线程管理,我们可以实现复杂的时间控制功能,比如游戏倒计时、定时提醒等。正确理解和使用这些...

    Android定时器和线程实现

    在Android应用开发中,理解和掌握如何使用定时器和线程是非常...通过分析和学习这个示例,你可以更好地掌握在实际项目中如何运用这些技术。记得实践是检验真理的唯一标准,动手编写和调试代码是提高技能的最好方式。

    10大经典Android开源项目分享(学习android必备)

     如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发。由Android的核心开发团队提供了15个优秀的示例项目,包含了游戏、图像处理、时间显示、开始菜单快捷方式...

    安卓Android源码——用ViewPager实现手动切换,用Timer+Handler实现自动切换.zip

    通过查看和学习这个项目,你应该能够更好地理解如何在自己的应用中实现类似的功能。同时,这也是一次提升对安卓系统底层机制理解和UI动画控制能力的好机会。 总之,通过合理利用ViewPager、Timer和Handler,我们...

Global site tag (gtag.js) - Google Analytics