Как быстро разрешить паузу и возобновить функции в Libgdx
Какой код мне нужно написать в функциях pause() и resume() в libgdx для Android?
@Override
public void create() {
// TODO Auto-generated method stub
}
@Override
public void dispose() {
// TODO Auto-generated method stub
}
@Override
public void pause() {
// TODO Auto-generated method stub
}
@Override
public void render() {
// TODO Auto-generated method stub
}
@Override
public void resize(int width, int height) {
// TODO Auto-generated method stub
}
@Override
public void resume() {
// TODO Auto-generated method stub
}
}
2 ответа
По сути, вам не нужно ничего писать в этих двух методах. Ваше приложение libgdx будет работать, когда вы настроите свое приложение в create() и нарисуете свои вещи в render(). Это будет работать даже тогда, когда на первый план выходит другое действие, и вы возвращаетесь в свое приложение libgdx.
Все меняется, когда ваша деятельность libgdx прекращается, потому что система освобождает память. В этом случае вы можете использовать pause(), чтобы сохранить состояние вашего приложения и восстановить его в resume(). Libgdx еще не включает концепцию Parcelable для Android, поэтому вам нужно будет найти другой механизм персистентности.
Приостановить и возобновить события, которые могут включать в себя так называемую потерю контекста. Когда в Android происходит потеря контекста, это означает, что операционная система решила принудительно освободить память, занятую загруженными ресурсами. Поэтому прямой доступ к вашим ресурсам после потери контекста немедленно приведет к сбою возобновленной игры. Чтобы предотвратить эти сбои, вам необходимо перезагрузить ваши ресурсы, прежде чем снова получить к ним доступ.