LibGdx: количество ОЗУ уменьшается при обновлении screen в Android Studio

Я делаю игру, использую фреймворк libgdx в Android Studio. При мониторинге потребления ОЗУ через Android Studio Profiler, я обнаружил, что при загрузке начального экрана MenuScreen потребление оперативной памяти в разделе graphics составляет около 70 Мбайт, но, если я выйду из игры и сразу же войду обратно(то есть игра остается в оперативной памяти все время), то этот же раздел будет показывать уже примерно 50 Мбайт. Такая же проблема возникает и в других экранах. Кто может сталкивался с подобной проблемой, буду рад любой помощи.

UPD: И еще доп. вопрос. У меня при переходе между Screen также увеличивается ОЗУ в разделе Java. Каждый раз на 1-2 Мбайт. Я думаю, что это мусор, который GC еще не очистил, но я через Profiler не видел, чтобы этот показатель уменьшался. Profiler вылетает на значении Java около 35 Мбайт, и показывается значок "Force Garbage Collector". Если я правильно понял, то когда накопилось n-ое количество мусора то вызывается GC и значение Java снова уменьшается. Но я не знаю, так ли это, потому что Profiler вылетает после этого вместе с игрой(без Profiler игра не вылетает). Поправьте, пожалуйста, если мои выводы не верны.

ОЗУ при загрузке экрана меню

ОЗУ при выходе из игры и повторном входе(сама игра не закрывается, то есть она в оперативной памяти держится)

Главный Класс GameStart:


package com.AlexDuckStudio.FlyingBird;

import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.audio.Music;
import com.badlogic.gdx.audio.Sound;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.utils.viewport.FillViewport;

import Screens.LoadScreen;

public class GameStart extends Game {

    private AdsListener adsListener;
    private LoadScreen loadScreen;

    //VIRTUAL WIDTH AND HEIGHT OF THE SCREEN
    public static final int V_WIDTH = 394;
    public static final int V_HEIGHT = 700;
    public static float SIZE;
    public enum Ads{VIDEO, NOT_VIDEO}
    public static Ads Ads;


    public static int dx, dy;


    //MUSIC AND SOUND
    public static Music backgroundPlayMusic;
    public static Sound clickPositive, clickNegative;


    //OTHER STAFF TO RUN THE GAME
    public static SpriteBatch sb;
    public static OrthographicCamera camera2;
    private static FillViewport fillViewport;


    //CLASS FOR STORING DATA AFTER YOU EXIT FROM THE GAME
    private Data data;

    public GameStart() {

    }


    //IS CALLED AFTER THE GAME HAS STARTED
    @Override
    public void create() {


        //FIND dX AND dY OF THE SCREEN (BACK BARS)
        if((double)Gdx.graphics.getWidth()/V_WIDTH < (double)Gdx.graphics.getHeight()/V_HEIGHT) {
            dx = 0;
            dy = (Gdx.graphics.getHeight() - V_HEIGHT * Gdx.graphics.getWidth() / V_WIDTH) / 2;
        }
        if((double)Gdx.graphics.getWidth()/V_WIDTH > (double)Gdx.graphics.getHeight()/V_HEIGHT) {
            dx = (Gdx.graphics.getWidth() - V_WIDTH * Gdx.graphics.getHeight() / V_HEIGHT) / 2;
            dy = 0;
        }

        if(Gdx.graphics.getWidth()/V_WIDTH > Gdx.graphics.getHeight()/V_HEIGHT) {
            SIZE = (float)(Gdx.graphics.getHeight()/((double)V_HEIGHT/V_WIDTH));
        } else {
            if(Gdx.graphics.getWidth()/V_WIDTH < Gdx.graphics.getHeight()/V_HEIGHT) {
                SIZE = (float)(Gdx.graphics.getWidth());
            } else {
                SIZE = Gdx.graphics.getWidth();
            }
        }


        //SET MUSIC AND AUDIO
        backgroundPlayMusic = Gdx.audio.newMusic(Gdx.files.internal("backgroundPlayMusic.mp3"));
        clickPositive = Gdx.audio.newSound(Gdx.files.internal("clickPositive.wav"));
        clickNegative = Gdx.audio.newSound(Gdx.files.internal("clickNegative.wav"));


        //SET OTHER STAFF TO RUN THE GAME
        camera2 = new OrthographicCamera();
        fillViewport = new FillViewport(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), camera2);
        data = new Data();


        //CHECK THE FIRST LAUNCH
        if(!data.getPref().getBoolean("Launched")) {
            data.setValues();
        }
        sb = new SpriteBatch();
        camera2.update();
        sb.setProjectionMatrix(camera2.combined);

        fillViewport.apply();

        loadScreen = new LoadScreen(this, 1);
        setScreen(loadScreen);
    }


    @Override
    public void resize(int width, int height) {
        fillViewport.update(width, height, true);
    }


    //IS CALLED PERMANENTLY IF THE GAME IS LAUNCHED
    @Override
    public void render() {

        sb.begin();
        super.render();
        sb.end();
    }


    //IS CALLED AFTER THE GAME IS INTERRUPTED
    @Override
    public void pause() {
    }


    //IS CALLED AFTER THE GAME RESUMES
    @Override
    public void resume() {
    }


    //IS CALLED AFTER EXITING THE GAME TO DISPOSE ALL THE RESOURCES
    @Override
    public void dispose() {
        data.DataFlush();
        getScreen().dispose();
        sb.dispose();
        backgroundPlayMusic.dispose();
        clickPositive.dispose();
        clickNegative.dispose();
    }

    public static FillViewport getFillViewport() {
        return fillViewport;
    }

    public void setAdsListener(AdsListener l) {
        adsListener = l;
    }

    public AdsListener getAdsListener() {
        return adsListener;
    }

    public Data getData() {
        return data;
    }
}

Класс MenuScreen:


package Screens;

import com.AlexDuckStudio.FlyingBird.AssetHandler;
import com.AlexDuckStudio.FlyingBird.Data;
import com.AlexDuckStudio.FlyingBird.GameStart;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.assets.AssetManager;

import java.util.ArrayList;

import Scenes.MenuBackground;
import Scenes.HudMenu;
import Scenes.MenuBird;
import Scenes.MenuCloud;
import Scenes.MenuResources;


public class MenuScreen implements Screen {


    //ARRAY OF BEST SCORES
    public ArrayList<Integer> scoreList;
    private ArrayList<MenuCloud> clouds;


    private MenuBird menuBird;
    private HudMenu hud;
    private MenuBackground background;
    private GameStart game;
    private AssetHandler assetHandler;
    private MenuResources ms;


    public MenuScreen(GameStart game, AssetHandler assetHandler, MenuResources ms) {

        this.game = game;
        this.assetHandler = assetHandler;
        this.ms = ms;
    }


    @Override
    public void show() {
        menuBird = new MenuBird(game,this);

        hud = new HudMenu(game, this);

        background = new MenuBackground(this);

        scoreList = new ArrayList<>();

        clouds = new ArrayList<>();
        clouds.add(new MenuCloud(this));


        //ADD BEST SCORES TO ARRAY
        for(int i = 1; i <= 5; i++) {
            scoreList.add(game.getData().getPref().getInteger("score"+i));
        }

        //game.camera1.setToOrtho(false, game.V_WIDTH, game.V_HEIGHT);
        GameStart.camera2.setToOrtho(false, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
        Gdx.input.setInputProcessor(hud);
    }


    @Override
    public void render(float delta) {

        //UPDATE
        if(clouds.get(clouds.size()-1).getPosCloud().x < 50) {
            clouds.add(new MenuCloud(this));
        }
        for(int i = 0; i < clouds.size(); i++) {
            if(clouds.get(i).getDelete()) {
                clouds.remove(i);
            }
            clouds.get(i).update(delta);
        }
        hud.update(delta);
        menuBird.update(delta);
        background.update(delta);


        //RENDER

        background.render();
        for(MenuCloud c : clouds) {
            c.render();
        }
        menuBird.render();
        hud.render();
    }


    @Override
    public void resize(int width, int height) {

    }


    @Override
    public void pause() {
    }


    @Override
    public void resume() {
    }


    @Override
    public void hide() {
        Gdx.input.setInputProcessor(null);
        dispose();
    }


    @Override
    public void dispose() {
        game.getData().DataFlush();
        menuBird.dispose();
        hud.dispose();
        background.dispose();
        for(MenuCloud c : clouds) {
            c.dispose();
        }
        clouds.clear();
        clouds = null;
        scoreList.clear();
        scoreList = null;
        assetHandler.dispose();
        ms.disposeTextures();
    }

    public AssetHandler getAssetHandler() {
        return assetHandler;
    }
}

И еще класс MenuResources, где происходит вся загрузка и распаковка графики:

package Scenes;

import com.AlexDuckStudio.FlyingBird.AssetHandler;
import com.AlexDuckStudio.FlyingBird.Data;
import com.AlexDuckStudio.FlyingBird.GameStart;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.TextureRegion;

import Screens.LoadScreen;

public class MenuResources {

    private Texture BackgroundTexture;
    private TextureRegion[] BackgroundTextures;
    private Texture BestScoreLabelTexture;
    private TextureRegion[] BestScoreLabelTextures;
    private TextureRegion[] BirdTextures;
    private Texture Numbers_texture;
    private TextureRegion[] Numbers_textures;
    private Texture Numbers_texture_2;
    private TextureRegion[] Numbers_textures_2;
    private Texture HUD_Menu_texture;
    private TextureRegion[] HUD_Menu_textures;
    private Texture Clouds_texture;
    private TextureRegion[] Clouds_textures;
    private Texture mainLabelAnimTexture;
    private TextureRegion[] mainLabelAnimTextures;
    private Texture chooseModeAnimTexture;
    private TextureRegion[] chooseModeAnimTextures;
    private Texture bird1AnimRightTexture;
    private TextureRegion[] bird1AnimRightTextures;
    private Texture bird2AnimRightTexture;
    private TextureRegion[] bird2AnimRightTextures;
    private Texture bird3AnimRightTexture;
    private TextureRegion[] bird3AnimRightTextures;
    private Texture bird4AnimRightTexture;
    private TextureRegion[] bird4AnimRightTextures;
    private Texture bird5AnimRightTexture;
    private TextureRegion[] bird5AnimRightTextures;

    private GameStart game;
    private AssetHandler assetHandler;


    public MenuResources(LoadScreen ls, GameStart game) {

        this.game = game;

        int chosenBack = game.getData().getPref().getInteger("chosenBack");
        switch (chosenBack) {

            case 1: BackgroundTexture = new Texture(Gdx.files.internal("MeadowBackground.png")); break;

            case 2: BackgroundTexture = new Texture(Gdx.files.internal("DesertBackground.png")); break;

            case 3: BackgroundTexture = new Texture(Gdx.files.internal("WinterBackground.png")); break;
        }

        int chosenBird = 0;
        for(int i = 0; i < 5; i++) {

            if(game.getData().getPref().getBoolean("chosenBird"+(i+1))) {
                chosenBird = i+1;
                break;
            }
        }
        switch (chosenBird) {

            case 1: bird1AnimRightTexture = new Texture(Gdx.files.internal("bird1RightAnim.png")); break;

            case 2: bird2AnimRightTexture = new Texture(Gdx.files.internal("bird2RightAnim.png")); break;

            case 3: bird3AnimRightTexture = new Texture(Gdx.files.internal("bird3RightAnim.png")); break;

            case 4: bird4AnimRightTexture = new Texture(Gdx.files.internal("bird4RightAnim.png")); break;

            case 5: bird5AnimRightTexture = new Texture(Gdx.files.internal("bird5RightAnim.png")); break;
        }


        Numbers_texture = new Texture(Gdx.files.internal("Numbers_Pack.png"));

        Numbers_texture_2 = new Texture(Gdx.files.internal("numbers_2.png"));

        HUD_Menu_texture = new Texture(Gdx.files.internal("HudMenu.png"));

        Clouds_texture = new Texture(Gdx.files.internal("Clouds.png"));

        mainLabelAnimTexture = new Texture(Gdx.files.internal("mainLabelAnim.png"));

        chooseModeAnimTexture = new Texture(Gdx.files.internal("chooseModeAnim.png"));

        BestScoreLabelTexture = new Texture(Gdx.files.internal("theBestScoreLabel.png"));
    }

    public void disposeTextures() {
        Numbers_texture.dispose();
        Numbers_texture_2.dispose();
        HUD_Menu_texture.dispose();
        Clouds_texture.dispose();
        mainLabelAnimTexture.dispose();
        chooseModeAnimTexture.dispose();
        BackgroundTexture.dispose();
        BestScoreLabelTexture.dispose();
        if(bird1AnimRightTexture != null) {
            bird1AnimRightTexture.dispose();
        }
        if(bird2AnimRightTexture != null) {
            bird2AnimRightTexture.dispose();
        }
        if(bird3AnimRightTexture != null) {
            bird3AnimRightTexture.dispose();
        }
        if(bird4AnimRightTexture != null) {
            bird4AnimRightTexture.dispose();
        }
        if(bird5AnimRightTexture != null) {
            bird5AnimRightTexture.dispose();
        }
    }


    private void unpack_Numbers_Texture() {

        Numbers_textures = new TextureRegion[] {
                new TextureRegion(Numbers_texture, 165, 61, 46, 59), //0
                new TextureRegion(Numbers_texture, 161, 1, 34, 58), //1
                new TextureRegion(Numbers_texture, 213, 62, 45, 58), //2
                new TextureRegion(Numbers_texture, 260, 61, 44, 59), //3
                new TextureRegion(Numbers_texture, 115, 62, 48, 58), //4
                new TextureRegion(Numbers_texture, 306, 61, 44, 59), //5
                new TextureRegion(Numbers_texture, 352, 60, 44, 60), //6
                new TextureRegion(Numbers_texture, 444, 61, 44, 59), //7
                new TextureRegion(Numbers_texture, 115, 2, 44, 58), //8
                new TextureRegion(Numbers_texture, 398, 60, 44, 60) //9
        };
    }
    private void unpack_Numbers_Texture_2() {

        Numbers_textures_2 = new TextureRegion[] {
                new TextureRegion(Numbers_texture_2, 0, 0, 45, 93),
                new TextureRegion(Numbers_texture_2, 45, 0, 45, 93),
                new TextureRegion(Numbers_texture_2, 90, 0, 45, 93),
                new TextureRegion(Numbers_texture_2, 135, 0, 45, 93),
                new TextureRegion(Numbers_texture_2, 180, 0, 45, 93),
                new TextureRegion(Numbers_texture_2, 0, 93, 45, 93),
                new TextureRegion(Numbers_texture_2, 45, 93, 45, 93),
                new TextureRegion(Numbers_texture_2, 90, 93, 45, 93),
                new TextureRegion(Numbers_texture_2, 135, 93, 45, 93),
                new TextureRegion(Numbers_texture_2, 180, 93, 45, 93)
        };
    }
    private void unpack_HUD_Texture() {

        HUD_Menu_textures = new TextureRegion[] {
                new TextureRegion(HUD_Menu_texture, 1, 3, 720, 1309), //BESTSCORE TABLE 0
                new TextureRegion(HUD_Menu_texture, 723, 792, 230, 520), //CHOOSE MODE INDICATOR 1
                new TextureRegion(HUD_Menu_texture, 955, 1245, 150, 67), //PLAY 2
                new TextureRegion(HUD_Menu_texture, 955, 1041, 100, 100), //MUSIC ON 3
                new TextureRegion(HUD_Menu_texture, 955, 1143, 100, 100), //MUSIC OFF 4
                new TextureRegion(HUD_Menu_texture, 955, 939, 100, 100), //SETTINGS 5
                new TextureRegion(HUD_Menu_texture, 955, 837, 100, 100), //SHOP 6
                new TextureRegion(HUD_Menu_texture, 875, 21, 100, 97), //SOUND ON 7
                new TextureRegion(HUD_Menu_texture, 955, 735, 100, 100), //SOUND OFF 8
                new TextureRegion(HUD_Menu_texture, 723, 590, 200, 200), //GAME LEFT ARROW 9
                new TextureRegion(HUD_Menu_texture, 925, 533, 200, 200), //GAME RIGHT ARROW 10
                new TextureRegion(HUD_Menu_texture, 723, 496, 200, 92), //HUD BUTTON 11
                new TextureRegion(HUD_Menu_texture, 925, 446, 200, 85), //SAVE BUTTON 12
                new TextureRegion(HUD_Menu_texture, 925, 285, 200, 78), //MIRRORED BUTTON1 13
                new TextureRegion(HUD_Menu_texture, 723, 414, 200, 80), //MIRRORED BUTTON2 14
                new TextureRegion(HUD_Menu_texture, 925, 365, 200, 79), //CANCEL BUTTON 15
                new TextureRegion(HUD_Menu_texture, 723, 333, 200, 79), //DEFAULT BUTTON 16
                new TextureRegion(HUD_Menu_texture, 723, 166, 100, 97), //CHOOSE MODE ICON 17
                new TextureRegion(HUD_Menu_texture, 875, 219, 250, 64), //COINS TABLE 18
                new TextureRegion(HUD_Menu_texture, 927, 120, 100, 97), //TRUE 19
                new TextureRegion(HUD_Menu_texture, 825, 120, 100, 97), //FALSE 20
                new TextureRegion(HUD_Menu_texture, 723, 67, 100, 97), //LEADERBOARD 21
                new TextureRegion(HUD_Menu_texture, 723, 1, 150, 64), //EXIT 22
                new TextureRegion(HUD_Menu_texture, 723, 265, 150, 66) //AUTHORS 23
        };
    }
    private void unpack_mainLabelAnimTexture() {

        mainLabelAnimTextures = new TextureRegion[] {
                new TextureRegion(mainLabelAnimTexture, 0, 0, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 604, 0, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 1208, 0, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 0, 134, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 604, 134, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 1208, 134, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 0, 268, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 604, 268, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 1208, 268, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 0, 402, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 604, 402, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 1208, 402, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 0, 536, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 604, 536, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 1208, 536, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 0, 670, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 604, 670, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 1208, 670, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 0, 804, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 604, 804, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 1208, 804, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 0, 938, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 604, 938, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 1208, 938, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 0, 1072, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 604, 1072, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 1208, 1072, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 0, 1206, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 604, 1206, 604, 134),
                new TextureRegion(mainLabelAnimTexture, 1208, 1206, 604, 134)
        };
    }
    private void unpack_chooseModeAnimTexture() {

        chooseModeAnimTextures = new TextureRegion[] {
                new TextureRegion(chooseModeAnimTexture, 0, 0, 354, 165),
                new TextureRegion(chooseModeAnimTexture, 354, 0, 354, 165),
                new TextureRegion(chooseModeAnimTexture, 708, 0, 354, 165),
                new TextureRegion(chooseModeAnimTexture, 1062, 0, 354, 165),
                new TextureRegion(chooseModeAnimTexture, 1416, 0, 354, 165),
                new TextureRegion(chooseModeAnimTexture, 0, 165, 354, 165),
                new TextureRegion(chooseModeAnimTexture, 354, 165, 354, 165),
                new TextureRegion(chooseModeAnimTexture, 708, 165, 354, 165),
                new TextureRegion(chooseModeAnimTexture, 1062, 165, 354, 165),
                new TextureRegion(chooseModeAnimTexture, 1416, 165, 354, 165),
                new TextureRegion(chooseModeAnimTexture, 0, 330, 354, 165),
                new TextureRegion(chooseModeAnimTexture, 354, 330, 354, 165),
                new TextureRegion(chooseModeAnimTexture, 708, 330, 354, 165),
                new TextureRegion(chooseModeAnimTexture, 1062, 330, 354, 165),
                new TextureRegion(chooseModeAnimTexture, 1416, 330, 354, 165),
        };
    }
    private TextureRegion[] unpack_bird1AnimRight() {

        bird1AnimRightTextures = new TextureRegion[] {
                new TextureRegion(bird1AnimRightTexture, 1, 917, 560, 456), //1
                new TextureRegion(bird1AnimRightTexture, 1125, 459, 560, 456), //2
                new TextureRegion(bird1AnimRightTexture, 1687, 917, 560, 456), //3
                new TextureRegion(bird1AnimRightTexture, 1125, 1, 560, 456), //4
                new TextureRegion(bird1AnimRightTexture, 1687, 459, 560, 456), //5
                new TextureRegion(bird1AnimRightTexture, 2249, 917, 560, 456), //6
                new TextureRegion(bird1AnimRightTexture, 1687, 1, 560, 456), //7
                new TextureRegion(bird1AnimRightTexture, 2249, 459, 560, 456), //8
                new TextureRegion(bird1AnimRightTexture, 2249, 1, 560, 456), //9
                new TextureRegion(bird1AnimRightTexture, 1, 459, 560, 456), //10
                new TextureRegion(bird1AnimRightTexture, 563, 917, 560, 456), //11
                new TextureRegion(bird1AnimRightTexture, 1, 1, 560, 456), //12
                new TextureRegion(bird1AnimRightTexture, 563, 459, 560, 456), //13
                new TextureRegion(bird1AnimRightTexture, 1125, 917, 560, 456), //14
                new TextureRegion(bird1AnimRightTexture, 563, 1, 560, 456) //15
        };
        return bird1AnimRightTextures;
    }
    private TextureRegion[] unpack_bird2AnimRight() {

        bird2AnimRightTextures = new TextureRegion[] {
                new TextureRegion(bird2AnimRightTexture, 1, 917, 560, 456), //1
                new TextureRegion(bird2AnimRightTexture, 1687, 917, 560, 456), //2
                new TextureRegion(bird2AnimRightTexture, 1125, 1, 560, 456), //3
                new TextureRegion(bird2AnimRightTexture, 1687, 459, 560, 456), //4
                new TextureRegion(bird2AnimRightTexture, 2249, 917, 560, 456), //5
                new TextureRegion(bird2AnimRightTexture, 1687, 1, 560, 456), //6
                new TextureRegion(bird2AnimRightTexture, 2249, 459, 560, 456), //7
                new TextureRegion(bird2AnimRightTexture, 2811, 917, 560, 456), //8
                new TextureRegion(bird2AnimRightTexture, 2249, 1, 560, 456), //9
                new TextureRegion(bird2AnimRightTexture, 1, 459, 560, 456), //10
                new TextureRegion(bird2AnimRightTexture, 563, 917, 560, 456), //11
                new TextureRegion(bird2AnimRightTexture, 1, 1, 560, 456), //12
                new TextureRegion(bird2AnimRightTexture, 563, 459, 560, 456), //13
                new TextureRegion(bird2AnimRightTexture, 1125, 917, 560, 456), //14
                new TextureRegion(bird2AnimRightTexture, 563, 1, 560, 456), //15
                new TextureRegion(bird2AnimRightTexture, 1125, 459, 560, 456) //16
        };
        return bird2AnimRightTextures;
    }

    private TextureRegion[] unpack_bird3AnimRight() {

        bird3AnimRightTextures = new TextureRegion[] {
                new TextureRegion(bird3AnimRightTexture, 0, 0, 500, 407),
                new TextureRegion(bird3AnimRightTexture, 0, 407, 500, 407),
                new TextureRegion(bird3AnimRightTexture, 0, 814, 500, 407),
                new TextureRegion(bird3AnimRightTexture, 0, 1221, 500, 407),
                new TextureRegion(bird3AnimRightTexture, 0, 1628, 500, 407)
        };
        return bird3AnimRightTextures;
    }

    private TextureRegion[] unpack_bird4AnimRight() {

        bird4AnimRightTextures = new TextureRegion[] {
                new TextureRegion(bird4AnimRightTexture, 0, 0, 500, 407),
                new TextureRegion(bird4AnimRightTexture, 500, 0, 500, 407),
                new TextureRegion(bird4AnimRightTexture, 1000, 0, 500, 407),
                new TextureRegion(bird4AnimRightTexture, 1500, 0, 500, 407),
                new TextureRegion(bird4AnimRightTexture, 0, 407, 500, 407),
                new TextureRegion(bird4AnimRightTexture, 500, 407, 500, 407),
                new TextureRegion(bird4AnimRightTexture, 1000, 407, 500, 407),
                new TextureRegion(bird4AnimRightTexture, 1500, 407, 500, 407),
                new TextureRegion(bird4AnimRightTexture, 0, 814, 500, 407),
                new TextureRegion(bird4AnimRightTexture, 500, 814, 500, 407),
                new TextureRegion(bird4AnimRightTexture, 1000, 814, 500, 407),
                new TextureRegion(bird4AnimRightTexture, 1500, 814, 500, 407),
                new TextureRegion(bird4AnimRightTexture, 0, 1221, 500, 407),
                new TextureRegion(bird4AnimRightTexture, 500, 1221, 500, 407),
                new TextureRegion(bird4AnimRightTexture, 1000, 1221, 500, 407)
        };
        return bird4AnimRightTextures;
    }

    private TextureRegion[] unpack_bird5AnimRight() {

        bird5AnimRightTextures = new TextureRegion[] {
                new TextureRegion(bird5AnimRightTexture, 0, 0, 500, 407),
                new TextureRegion(bird5AnimRightTexture, 500, 0, 500, 407),
                new TextureRegion(bird5AnimRightTexture, 1000, 0, 500, 407),
                new TextureRegion(bird5AnimRightTexture, 1500, 0, 500, 407),
                new TextureRegion(bird5AnimRightTexture, 0, 407, 500, 407),
                new TextureRegion(bird5AnimRightTexture, 500, 407, 500, 407),
                new TextureRegion(bird5AnimRightTexture, 1000, 407, 500, 407),
                new TextureRegion(bird5AnimRightTexture, 1500, 407, 500, 407),
                new TextureRegion(bird5AnimRightTexture, 0, 814, 500, 407),
                new TextureRegion(bird5AnimRightTexture, 500, 814, 500, 407),
                new TextureRegion(bird5AnimRightTexture, 1000, 814, 500, 407),
                new TextureRegion(bird5AnimRightTexture, 1500, 814, 500, 407),
                new TextureRegion(bird5AnimRightTexture, 0, 1221, 500, 407),
                new TextureRegion(bird5AnimRightTexture, 500, 1221, 500, 407),
                new TextureRegion(bird5AnimRightTexture, 1000, 1221, 500, 407)
        };
        return bird5AnimRightTextures;
    }

    private void unpack_Clouds_Texture() {

        Clouds_textures = new TextureRegion[] {
                new TextureRegion(Clouds_texture, 669, 36, 203, 121), //0
                new TextureRegion(Clouds_texture, 471, 1, 196, 156), //1
                new TextureRegion(Clouds_texture, 253, 18, 216, 139), //2
                new TextureRegion(Clouds_texture, 1, 11, 250, 146) //3
        };
    }

    public void unpackAll() {

        BackgroundTextures = new TextureRegion[1];
        BestScoreLabelTextures = new TextureRegion[1];

        BackgroundTextures[0] = new TextureRegion(BackgroundTexture);

        BestScoreLabelTextures[0] = new TextureRegion(BestScoreLabelTexture);


        int chosenBird = 0;
        for(int i = 0; i < 5; i++) {

            if(game.getData().getPref().getBoolean("chosenBird"+(i+1))) {
                chosenBird = i+1;
                break;
            }
        }
        switch (chosenBird) {

            case 1: BirdTextures = unpack_bird1AnimRight(); break;

            case 2: BirdTextures = unpack_bird2AnimRight(); break;

            case 3: BirdTextures = unpack_bird3AnimRight(); break;

            case 4: BirdTextures = unpack_bird4AnimRight(); break;

            case 5: BirdTextures = unpack_bird5AnimRight(); break;
        }


        unpack_Numbers_Texture();
        unpack_Numbers_Texture_2();
        unpack_chooseModeAnimTexture();
        unpack_mainLabelAnimTexture();
        unpack_HUD_Texture();
        unpack_Clouds_Texture();

        assetHandler = new AssetHandler(BackgroundTextures, BestScoreLabelTextures, BirdTextures,
                Numbers_textures, Numbers_textures_2, Clouds_textures, HUD_Menu_textures, mainLabelAnimTextures,
                chooseModeAnimTextures, bird1AnimRightTextures, bird2AnimRightTextures,
                bird3AnimRightTextures, bird4AnimRightTextures, bird5AnimRightTextures);
    }

    public AssetHandler getAssetHandler() {
        return assetHandler;
    }
}

Ответы (0 шт):