gpt4 book ai didi

android - 延迟线程也卡住其他 Activity

转载 作者:行者123 更新时间:2023-11-30 03:12:10 25 4
gpt4 key购买 nike

我有一个名为 actions_table 的表。其中有必须按照特定顺序执行的操作,它们由单独的服务实现。除了延迟操作外,一切正常。当操作表中存在延迟时,应用程序会在给定的延迟时间内卡住,最奇怪的是其他服务会在延迟后执行,即使它们在 delay_thread 启动之前就已启动!

我已经用 thead 和 while 循环实现了延迟,检查系统时间是否超过了 start_time + delay_time。同样的结果。

如何在不延迟延迟之前启动的服务的情况下实现此延迟? (如果不卡住 UI 也很好)

MainActivity{
onCreate{
.
.
.
for(i=0;i<actions_table.length;i++){

if(condition1)
startService1

else if(delay_condition2)
delay_thread.start();

else if(condition3)
startService3
}
.
.
.
}
}

我终于找到了可行的方法。分享我为他人所做的事情。

delay=0;
for(i=0;i<actions_table.length;i++){
if(current_action is delay)
delay=number_of_seconds
final Handler = new Handler();
handler.postDelayed(new Runnable(){
@Override
public void run() {

if(condition1)
startService1
.
.
.
else if(conditionX)
startServiceX
}
},delay*1000);
}

这样,延迟操作之后的所有操作都会在所需的秒数后一起执行。 (action1, action2----delay---action3, action4.....actionX)

最佳答案

试试这个代码示例。有用。

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
// Do something after 10s = 10000ms


}
}, 10000);

关于android - 延迟线程也卡住其他 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20767474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com