一、定时器有几种方式
1、在JAVA5中用到这个
Class Executors
java.lang.Object
java.util.concurrent.Executors
这个类既可以调用 newCachedThreadPool()创建线程池,也可以调用newScheduledThreadPool(int corePoolSize)处理延时任务和重复执行任务
ScheduledExecutorService ses = Executors.newScheduledThreadPool(10);
Runnable runnable = new Runnable() {
@Override
public void run() {
Log.i("MainActivity", String.valueOf(i));
i++;
}
};
ses.scheduleAtFixedRate(runnable, 10, 1, TimeUnit.SECONDS);
// ses.shutdown();
2、Timer 这个类的继承关系
java.lang.Object
↳ java.util.Timer
看了官方用语 Java 5.0 introduced the java.util.concurrent package and one of the concurrency utilities therein is the ScheduledThreadPoolExecutor which is a thread pool for repeatedly executing tasks at a given rate or delay. It is effectively a more versatile replacement for the Timer/TimerTask combination, as it allows multiple service threads, accepts various time units, and doesn’t require subclassing TimerTask (just implement Runnable). Configuring ScheduledThreadPoolExecutor with one thread makes it equivalent to Timer.
就是推荐用第一种方法实现定时器的效果,暂时这种方式就不写了