gpt4 book ai didi

Java:陷入无限循环

转载 作者:行者123 更新时间:2023-12-01 23:14:58 25 4
gpt4 key购买 nike

只有当我的服务完全停止时我才想做一些事情。

因此,我创建了一个公共(public)静态变量,将其初始化为 false,在 onCreate() 中将其初始化为 true,在 onDestroy() 中将其初始化为 false。

在我的 Activity 中:

if(TripService.trip_service_state)
{
stopService(newIntent(ProfileActivity.this,TripService.class));
while (TripService.trip_service_state);
do_stuff();
}

为我服务:

public static boolean trip_service_state=false;

onCreate()
{
super.onCreate();
trip_service_state=true;
}

onDestroy()
{
trip_service_state=false;
super.onDestroy();
}

现在,当我的服务运行时,应用程序收到“NOT RESPONDING”消息。

最佳答案

由于 ServiceActivity 在同一线程上执行,因此无法执行将标志设置为 false 的代码:Activity 方法永远不会执行停止。这就是您收到 ANR 的原因。

您可以通过 LocalBroadcastManagerBroadcastService 发送到 Activity。 ( Activity 必须动态注册和取消注册相应的 BroadcastReceiver)

关于Java:陷入无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58358059/

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