暂停和dispose()没有在libgdx中的ApplicationListener中调用

时间:2011-10-24 10:37:33

标签: android libgdx

当我在AndroidApplication的exit()方法中调用onDestroy()方法时,ApplicationListener的pause()dispose()未被调用。任何人都可以帮助我。

2 个答案:

答案 0 :(得分:3)

得到了解决。在从AndroidApplication调用侦听器并从其恢复时,我曾经引发一个Activity,导致引发的Activity暂停。据我们所知,暂停不能立即销毁。因此没有正确调用dispose()。而不是提高活动,我使用对话框,然后有可能杀死Android应用程序。

答案 1 :(得分:1)

对于游戏屏幕有类似问题的人:

示例(我将只编写问题的必要代码,而不是所有应该存在的问题):

我们使用 Main 类作为所有其他屏幕的父级。

public class Main extends Game {
    public GameScreen gameScreen;
    public void create(){
        gameScreen = new GameScreen(this);
        setScreen(gameScreen);  
    }  
}

所以我们让gameScreen运行但是它的pause()和dispose()不能正常工作。那是因为gameClass"实际上是#34;主类(仅为了更容易描述)。将被调用的pause()和dispose()方法是Main方法。所以来自父(Main)的方法将覆盖gameScreen方法。

希望它有助于某人