Como armazenar dados persistentes facilmente sem usar bancos de dado

Estou tentando usar a classe Aplicativo Android (MyApplication.java) para armazenar dados em algumas ArrayLists de strings e int

Eu quero que esses dados sejam armazenados para sempre, como um banco de dados, mas sem usar bancos de dados, para simplificar meu aplicativo.

Atualmente, os dados são armazenados. Quando saio do aplicativo, o processo do aplicativo ainda é executado em segundo plano. Mas se eu matar o processo do aplicativo, os dados armazenados na classe MyApplication.java serão removidos. Portanto, preciso de algum tipo de função que armazene os dados das minhas variáveis do MyApplication em um arquivo e outra função que restaure os dados nas variávei

Existe uma maneira simples e fácil de resolver isso?

code reiniciado:

public class MyApplication extends Application {
    public static String LeagueTable[][] = new String[21][8];
    //COLUMNAS MATRIZ:
    //0     /1   /2   /3   /4   /5   /6   /7
    //nombre/P.J./P.G./P.E./P.P./G.F./G.C./Pts

    public static League LFP = new League();
    public static Category Primera = new Category(20);
    public static int NEQUIPOS=20;
    public static int[][] matriz= new int[NEQUIPOS+1][NEQUIPOS+1]; //esta es la matriz de emparejamientos, representa el calendario
    public static int PlayerTeamID;
    public static boolean ExistingSaveGame=false;//esto es true cuando existe una partida guardada

    //variables candidatas a poner dentro de una de las clases del modelo, como season por ejemplo
    public static int RoundNumber; //jornada actual
    public static boolean SeasonOver=false;//true cuando la temporada ha terminado

    public void onCreate() {
        super.onCreate();
    }

    public void onTerminate() {
        super.onTerminate();
    }

"and a lot of functions that works with the static variables"

questionAnswers(3)

yourAnswerToTheQuestion