android计时器timer

需要在android上使用一个计时器,大概从网上找了一下,这里总结一下。

其实这里主要分两种情况,一种是要直接在UI(显示界面)线程上操作的timer,另一种是不直接在UI线程上操作的timer,这里直接与不直接的意思是在timer的方法里直接写UI相关的方法,当然可以在timer里通过接口或者其他方法来更新UI。

方法很简单,就是定义一个timer,实现一个TimerTask,对于android来讲,在计时器启动时,就相当于启动了一个线程,所以肯定是不可以在一个线程里去更新UI线程的。

如果需要更新UI线程,网上方法比较多,可以去百度一下了。一个是通过handler来处理,其实在我看来,一个handler也是一个线程,这时timer只是传消息(message)给handler,然后通过主线程来处理UI。当然可以不使用这个方法,可以在timer里对UI的操作使用一个接口,然后在UI里实现这个接口,timer只需要调用这个接口就可以了。

网上还有一个方法是通过handler.postDelayed来处理,其实是handler自身的一个方法,核心应该也是一个计时器的原理,只是这个timer由handler来处理了。希望大家不要被timer困扰住。

你可能感兴趣的:(android)