Приложение прекращено после X раз запуска нового действия

У меня есть простое приложение с двумя действиями: MainActivity (с двумя фрагментами) и GameActivity. В одном из фрагментов FragmentHome у меня есть FloatingButton, который при нажатии запускает мою GameActivity. Когда игра заканчивается, я показываю AlertDialog с кнопкой, которая при нажатии делает: GameActivity.this.onBackPressed(); что возвращает пользователя обратно в FragmentHome, где он может снова запустить игру.

Проблемный сценарий: пользователь запускает игру (из плавающей кнопки FragmentHome), играет в нее, игра заканчивается через несколько секунд, и пользователь направляется обратно в FragmentHome, где он снова запускает игру; если повторить это 7-8 раз, то в какой-то момент щелчок FloatingButton просто завершит приложение без ошибки logcat. Единственная странная «подсказка» в logcat, которую я вижу, это D/StrictMode: нарушение политики StrictMode: android.os.strictmode.DiskReadViolation, которая на самом деле мало что говорит о завершении работы приложения.

Я следил за использованием памяти приложения (с самого устройства Android): это нормально, от 53 МБ до 66 МБ.

Моя плавающая кнопка при нажатии:

myView.findViewById(R.id.btnStartGame).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (!AppController.appOnline) {
                    Snackbar.make(lstLuckyUsers, getString(R.string.txt_no_internet), 2000).show();
                    return;
                }

                Intent gameIntent = new Intent(FragmentHome.this.context, GameActivity.class);
                FragmentHome.this.context.startActivity(gameIntent);
            }
        });

Нажмите кнопку My GameActivity AlertDialog:

MaterialButton btnOK = dialogView.findViewById(R.id.btnOK);
        if (btnOK != null)
            btnOK.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    // close dialog and game Activity
                    gameOverDialog.dismiss();
                    GameActivity.this.onBackPressed();
                }
            });

Не подскажете, где искать проблему? Такое ощущение, что сборщик мусора не выполняет свою работу должным образом, или есть фреймворк, который я использую, и это приносит проблемы. Зависимости стандартные:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    defaultConfig {
        applicationId "com.mygame.mygame"
        minSdkVersion 23
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    implementation 'com.google.android.material:material:1.2.1'
    implementation 'androidx.navigation:navigation-fragment:2.3.3'
    implementation 'androidx.navigation:navigation-ui:2.3.3'

    // volley lib
    implementation 'com.android.volley:volley:1.1.1'

    // FAN Ad
    implementation 'com.facebook.android:audience-network-sdk:6.0.0'

    // Google In-App Review
    implementation 'com.google.android.play:core:1.9.1'
}

person Bbosap    schedule 30.01.2021    source источник
comment
Вы что-то читаете с диска? Потому что это может вызвать ошибку, если вы читаете определенный фрагмент файла/кода несколько раз за короткий промежуток времени.   -  person ADITYA RANADE    schedule 30.01.2021
comment
stackoverflow.com/questions/38427478/ Проверьте это для лучшего объяснения   -  person ADITYA RANADE    schedule 30.01.2021
comment
@ Адитья, я ничего не читаю с диска. Спасибо за предоставленную ссылку, но обсуждение там касается подавления этого предупреждающего сообщения вообще, и приложение в этой теме действительно вылетает при запуске.   -  person Bbosap    schedule 31.01.2021