pause и dispose () не вызывают в ApplicationListener в libgdx - PullRequest
2 голосов
/ 24 октября 2011

когда я вызываю exit() метод в onDestroy() методе AndroidApplication, pause() и dispose() ApplicationListener не вызывались.Может ли кто-нибудь помочь мне в этом.

Ответы [ 2 ]

3 голосов
/ 27 октября 2011

Разрешен.При вызове прослушивателя из AndroidApplication и его возврате назад я вызывал активность, в результате чего активность была приостановлена.Насколько мы знаем, что пауза не может быть уничтожена немедленно.Поэтому dispose () не был вызван должным образом.Вместо повышения активности я использовал диалоговое окно, тогда есть возможность убить андроид приложение.

1 голос
/ 05 апреля 2014

Для тех, у кого похожие проблемы с игровыми экранами:

пример (я напишу только необходимый код для проблемы, а не все, что должно быть там):

У нас есть Main класс, который мы используем в качестве родительского для всех других экранов.

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

Итак, у нас запущен gameScreen, но его pause () и dispose () не будут работать. Это потому, что gameClass "фактически" является главным классом (просто для более простого описания). Методы pause () и dispose (), которые будут вызваны, являются основными. Поэтому методы из parent (Main) будут переопределять методы gameScreen.

Надеюсь, это кому-нибудь поможет

...