Android 延时执行某个任务
Posted wlytctw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 延时执行某个任务相关的知识,希望对你有一定的参考价值。
我们有时候需要我们的某个函数,或者是界面的跳转;在延时 几秒之后再执行这个函数或者是界面的startActivity();这时候我们就需要做下延时处理以让用户看到某个操作效果,或者是隐含的操作!
实现的方式有以下几种:
第一种:
/**
* Thread.sleep(long )
*/
public void threadDelay()
Thread thread = new Thread(runnable);
thread.start();
第二种方式:
handler.postDelayed(runnable, 2500);
第三种方式:
TimerTask task = new TimerTask()
@Override
public void run()
//TODO: execute Task
handler.obtainMessage(UPDATE_DATA, "更新").sendToTarget();
;
Timer timer = new Timer();
timer.schedule(task, 2500);
Runnable 接口:
Runnable runnable = new Runnable()
@Override
public void run()
//TODO: execute Task(借助Handler 发送一条消息到MainThread)
try
Thread.sleep(2500);
catch (InterruptedException e)
e.printStackTrace();
// 发送一条消息到 MainThread 更新UI
handler.obtainMessage(UPDATE_DATA, "更新").sendToTarget();
;
Handler:
private static class MyHandler extends Handler
private final WeakReference<MainActivity> mActivity;
public MyHandler(MainActivity activity)
mActivity = new WeakReference<MainActivity>(activity);
@Override
public void handleMessage(Message msg)
super.handleMessage(msg);
MainActivity activity = mActivity.get();
if (activity != null)
if (msg.what == UPDATE_DATA)
tv_info.setText((String) msg.obj);
;
以上方式即可做到在 2500ms之后执行某个Task!
以上是关于Android 延时执行某个任务的主要内容,如果未能解决你的问题,请参考以下文章