我正在尝试在我的游戏应用程序中运行后台线程中的经理。 我正在使用以下runnable类来启用对象一段时间。
class ShowDialogRunnable implements Runnable {
private final Context context;
private static final float DCOUNTER = 3000;
ShowDialogRunnable(Context context){
this.context = context;
}
@Override
public void run() {
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND);
long st = System.currentTimeMillis();
Resourses.getInstance(context).showDialog = true;
while (System.currentTimeMillis()-st <= DCOUNTER){
// LoggerCommon.logMessageConditional("RUNNABLE", true, LogMessageType.DEBUG, "Loging", "waiting for "+ (System.currentTimeMillis()-st)+" "+st);
}
Resourses.getInstance(context).showDialog = false;
Resourses.getInstance(context).selC = 0;
}
}
我打电话给:
new Thread(new ShowDialogRunnable(context)).start();
并等待线程在主UI线程中完成
while (res.showDialog){
}
现在,当我从Android工作室以调试模式运行时,这完全运行。但是当我试图运行发布时,它会挂在那个runnable的while循环中。
有什么想法吗?