Как обработать «Невозможно начать действие java .util.ConcurrentModificationException» - PullRequest
0 голосов
/ 23 января 2020

После обновления моего приложения crashlytics начал сообщать об этой проблеме. с этим logcat

androidx.activity.ComponentActivity.onCreate (ComponentActivity.java:149)
androidx.fragment.app.FragmentActivity.onCreate (FragmentActivity.java:313)
androidx.appcompat.app.AppCompatActivity.onCreate (AppCompatActivity.java:106)
com.viyatek.ultimatefacts.Activites.LockScreenActivity.onCreate (LockScreenActivity.java:87)
android.app.Activity.performCreate (Activity.java:7154)
android.app.Activity.performCreate (Activity.java:7145)
android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1225)

Когда я смотрю вопросы с тем же кодом ошибки. Я видел это причины из-за итерации в списках. В этом упражнении нет итерации. Более того, нет списка или массива. Так что это не тот же вопрос с другими. Строка, в которой говорится, что это не удалось:

 @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState); //(LockScreenActivity.java:87)

    if(new NewVersionControl(this).CheckVersion())
            {
                new NewSharedPrefs(this).LookForNewSharedPrefs();

            handleAlarms = new HandleAlarms(this);
            handleAlarms.SetAlarmManager(); }
        else
        {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
                this.setShowWhenLocked(true);
            }
            else {            getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
            }

            setContentView(R.layout.opaque_full_screen_lock_screen);

            SharedPrefsHandler sharedPrefsHandler = new SharedPrefsHandler(this);


            //Ads initialized
            MobileAds.initialize(getApplicationContext(), getString(R.string.app_id));

            SdkConfiguration sdkConfiguration =
                    new SdkConfiguration.Builder(getString(R.string.twitter_banner_ad_unit_id)).build();
    MoPub.initializeSdk(this, sdkConfiguration, null);
    Declarations();
    GetRemoteConfig();
    if(handleRealmInit == null) {handleRealmInit = new HandleRealmInit(this);}
    lockScreenRealm = handleRealmInit.GetRealmInstance();
    BindData();
     if(sharedPrefsHandler.GetPref(SharedPrefsHandler.IS_PREMIUM).getIntegerValue()== 0) 
    {
LoadAd();
}
                if(lockScreenFact!= null)   {
                    if(lockScreenFact.isValid())
                    {
                        ReportProperties();
                    }
                }
            }

Так что я думаю, что это происходит из-за обработки представлений или группы представлений Android. Но я не мог определить или воспроизвести проблему. Я застрял в этой точке.

Спасибо, что прочитали это. Любая помощь приветствуется.

1 Ответ

1 голос
/ 23 января 2020

ConcurrentModificationException означает, что вы пытаетесь добавить / удалить элементы из массива, перебирая его без интегратора.

Что находится внутри вашего метода onCreate?

...