Thread的sleep(long)方法

    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_test);        new Thread(runnable).start();    }    private int looper = 0;    Runnable runnable = new Runnable() {        @Override        public void run() {            while (true){                try {                    Thread.sleep(2000);                } catch (InterruptedException e) {                    e.printStackTrace();                }                Log.d("ThreadAct", ++looper + "");            }        }    };    @Override    protected void onDestroy() {        super.onDestroy();        runnable = null;    }

Handler的postDelayed(Runnable, long)方法

    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_test);        Log.d("HandlerAct","Thread.name:"+Thread.currentThread().getName());        runHandler.postDelayed(runnable,2000);    }    private Handler runHandler  = new Handler(){        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);        }    };    private int looper = 0;    Runnable runnable = new Runnable(){        @Override        public void run() {            //TODO something            Log.d("HandlerAct",++looper+"");            Log.d("HandlerAct","Thread.name:"+Thread.currentThread().getName());            runHandler.postDelayed(this,2000);        }    };    @Override    protected void onDestroy() {        super.onDestroy();        runHandler.removeCallbacks(runnable);//停止    }

Timer与TimerTask结合的方法

    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_test);        timer.schedule(task,1000,2000);    }    private int looper = 0;     Timer timer = new Timer( );     TimerTask task = new TimerTask( ) {        public void run ( ) {            timerHandler.sendEmptyMessage(0);        }    };    Handler timerHandler = new Handler( ) {        public void handleMessage(Message msg) {            super.handleMessage(msg);            Log.d("TimerAct",++looper+"");        }    };    protected void onDestroy ( ) {        if (timer != null) {            timer.cancel( );            timer = null;        }        super.onDestroy( );    }

使用schedule方法,1秒后调用此task对象,然后每2秒执行一次

timer.schedule(task,1000,2000);

Android中的定时器Timer、AlarmManager、CountDownTimer的使用 - Mirhunana - 博客频道 - CSDN.NET

ScheduledThreadPoolExecutor

利用ScheduledThreadPoolExecutor定时执行任务:

    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_test);        threadPool.scheduleAtFixedRate(task,0,2, TimeUnit.SECONDS);    }    private ScheduledThreadPoolExecutor threadPool = new ScheduledThreadPoolExecutor(5);    private int looper = 0;    TimerTask task = new TimerTask( ) {        public void run ( ) {            timerHandler.sendEmptyMessage(0);        }    };    final Handler timerHandler = new Handler( ) {        public void handleMessage(Message msg) {            super.handleMessage(msg);            Log.d("ExecutorAct",++looper+"");        }    };

Java ScheduledThreadPoolExecutor延迟或周期性执行任务 - ImportNew
http://www.importnew.com/7276.html
Android定时器,推荐ScheduledThreadPoolExecutor - 山不在高,有金则名 - 博客频道 - CSDN.NET
http://blog.csdn.net/gaojinshan/article/details/17956055
利用ScheduledThreadPoolExecutor定时执行任务 - 幻年,时光。 - 博客频道 - CSDN.NET
http://blog.csdn.net/kazeik/article/details/8545049

深度解析Java8 – ScheduledThreadPoolExecutor源码解析 - 为程序员服务
http://ju.outofmemory.cn/entry/99456
ScheduledThreadPoolExecutor实现原理 - - ITeye技术网站
http://freish.iteye.com/blog/1766960
Java Timer和ScheduledThreadPoolExecutor体会和发现的问题明明如月新浪博客
http://blog.sina.com.cn/s/blog_9707fac30101i5n5.html

CountDownTimer倒计时

    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_test);        timer.start();    }    private int looper = 0;    private CountDownTimer timer = new CountDownTimer(10000, 1000) {        @Override        public void onTick(long millisUntilFinished) {            Log.d("CountdownTimerAct",++looper+"");        }        @Override        public void onFinish() {            Log.d("CountdownTimerAct","onFinish");            Log.d("CountdownTimerAct",++looper+"");        }    };

Android CountDownTimer倒计时器的使用 - 拿铁不懂绿茶 - 博客频道 - CSDN.NET
使用CountDownTimer类轻松实现倒计时功能Android脚本之家

更多相关文章

  1. android SQLiteDatabase源码解析
  2. Android中利用Intent传递数据到另一个页面
  3. android 调用 Menu 两种方法
  4. android更新UI的几种方法
  5. android kernel 初始化 2
  6. android TelephonyManager类的方法
  7. Android方法的传递值及其改变
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. Android(安卓)显示原理简介
  2. Android(安卓)TV框架 TIF(Android(安卓)TV
  3. 选择Android还是IOS开发?
  4. 关于界面布局的一些小知识
  5. Android中shape使用
  6. Android内核开发 学习笔记
  7. Android中使用ormlite实现持久化(一)--He
  8. Android开机动画过程
  9. 如何得到包含隐藏API的Android类库
  10. Android(安卓)Camera 使用小结