应用没响应

时间:2011-08-22 14:14:53

标签: android multithreading loops

我正在为Android编写游戏,每当玩家死亡时,他应该得到一个小警报对话框,为高分列表写下他的名字。然而,游戏循环仍在继续,我宁愿保持这样。但似乎循环阻止了对话框。此外,如果按重新启动,游戏将重新启动,但会忽略用户输入。过了一会儿,“这个应用程序没有响应...”消息弹出。

主要活动中调用的代码

public static boolean addHighScore(int score) {
if (mHiScores != null) {
    if (mHiScores.checkIfFits(score)) {
    if (Looper.myLooper() == null)
        Looper.prepare();
    mCurScore = score;
    mTextDialog.show();
    return true;
    }
}
return false;
}
PS:他的=他/她,他=他/她等。

编辑:警告对话框永远不会显示,如果没有明确显示。

2 个答案:

答案 0 :(得分:1)

您可以尝试启动包含addHighScore功能的新线程。这不会阻止你的游戏,它可以在后台运行。此外,当用户完成插入其名称时,您的线程将结束,游戏可以使用线程提供的数据重新启动。 只是一个想法。

答案 1 :(得分:0)

如果要在UI-Thread中显示线程提供的数据,请不要使用线程。请改用AsyncTask。