Android线程在发布模式下挂起但在调试模式下运行

时间:2016-10-27 17:07:34

标签: android multithreading debugging release

我正在尝试在我的游戏应用程序中运行后台线程中的经理。 我正在使用以下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循环中。

有什么想法吗?

0 个答案:

没有答案