【问题标题】:How to handle "Unable to start activity java.util.ConcurrentModificationException"如何处理“无法启动活动 java.util.ConcurrentModificationException”
【发布时间】:2020-05-09 03:15:15
【问题描述】:

更新我的应用后,crashlytics 开始报告此问题。用这个日志猫

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 处理视图或视图组而发生的。但我无法定义或重现该问题。我被困在这一点上。

感谢您阅读本文。任何帮助表示赞赏。

【问题讨论】:

    标签: android android-activity view android-viewgroup onsaveinstancestate


    【解决方案1】:

    ConcurrentModificationException 表示您正在尝试从数组中添加/删除元素,同时在没有交互器的情况下对其进行迭代。

    你的 onCreate 方法里面有什么?

    【讨论】:

    • 感谢您的回复。我在创建时添加。 OnCreate 或其方法中没有数组。在实施不同的 Ad Libraris 后,我开始崩溃。它会因为图书馆而引起吗? (在实施 MoPub 中介部分后得到)
    • onCreate 的第 87 行是什么?
    • super.onCreate(savedInstanceState); //(LockScreenActivity.java:87)
    • 此活动是否继承自提供的 android 活动类以外的其他内容?
    • 代码中的列表/数组有什么关系吗?
    猜你喜欢
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 1970-01-01
    • 2021-08-20
    相关资源
    最近更新 更多