我正在构建一个具有 AI 功能的安卓棋盘游戏。 AI 得到一个转折点,必须调用一系列操作,然后将无效发布到我的自定义 View 以进行更新。
我需要放慢这些 Action ,以便用户看到 AI 轮到它而不是它一闪而过。
我已经尝试了一些类似的方法
try {
doFirstThing();
Thread.sleep(500)
//post invalidate
doNextThing();
Thread.sleep(1000)
//post invalidate
}
catch (Exception e) {
}
但是这完全没有效果。如果这不明显,这也将在单独的线程中运行。
我看过处理程序的最佳选择是什么,但它们不需要正确,因为我需要按顺序执行一系列任务,每次更新 View 。
最佳答案
使用处理程序,如果您从 UI 线程执行,这是一个好主意...
final Handler h = new Handler();
final Runnable r2 = new Runnable() {
@Override
public void run() {
// do second thing
}
};
Runnable r1 = new Runnable() {
@Override
public void run() {
// do first thing
h.postDelayed(r2, 10000); // 10 second delay
}
};
h.postDelayed(r1, 5000); // 5 second delay
关于android - 如何延迟执行android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14510709/