java - Android 应用程序延迟执行不起作用
问题描述
我试图让我的 android 应用程序延迟 2 秒。
我使用了处理程序,但问题是处理程序没有停止剩余的代码执行,所以我像下面这样使用但它不起作用
final Handler handler = new Handler();
public int delay=0;
handler.postDelayed(new Runnable() {
@Override
public void run() {
// Do something after 2s
delay=delay+1;
}
}, 2000);
while(delay==0){
}
解决方案
好的,所以handler.postDelayed(Runnable, 2000)
会将方法延迟Runnable
2 秒。这将在不阻止应用程序的主线程运行 2 秒的情况下完成。
但是要延迟整个应用程序,您将需要阻塞主线程。因此,您将需要执行以下操作:
Thread.sleep(2000)
这将阻止主线程运行 2 秒,从而阻止整个应用程序运行。
推荐阅读
- javascript - 从 Sentry Javascript 显示/获取运行时、操作系统、设备上下文
- java - 线程集优先级似乎无法正常工作/按顺序进行?(爪哇)
- microsoft-graph-api - $skip 对 Microsoft Graph API 中列出 schemaExtensions 的端点没有影响
- python - 如何在pygame中触摸时将对象矩形设置为形状矩形而不将其永久设置为对象坐标?
- mysql - SQLplus:如何修改触发器中的值,使用更新前
- c++ - 使用最小堆合并多个排序数组
- node.js - 电子重建内部发生未处理的错误
- sql - 一种只选择表示进展的行而忽略表示恢复的行的方法?
- python - Laravel x Flask - 客户端错误:`POST http://127.0.0.1:5000/run` 导致 `400 BAD REQUEST` 响应:
- validation - 如何在 PHP 中针对 XSD 验证 XML