android переопределение метода onCreate - PullRequest
0 голосов
/ 06 февраля 2020

При создании от Activity до android мы должны переопределить метод onCreate, и новый метод ДОЛЖЕН вызывать super.onCreate

Мой вопрос: нужно ли сначала указывать заявление о новом onCreate?

У меня есть небольшая структура, которая внедряет некоторый код в мои действия ... она работала нормально без серьезных проблем

Затем я внес некоторые изменения в решить мелкие проблемы, и я переключаю вызов для super.onCreate() с первого на последнее утверждение ....

теперь некоторые пользователи получают

Caused by java.util.ConcurrentModificationException
       at androidx.collection.SimpleArrayMap.put(SimpleArrayMap.java:482)
       at com.google.android.gms.measurement.internal.zzin.zza(zzin.java:108)
       at com.google.android.gms.measurement.internal.zzid.onActivityCreated(zzid.java:11)
       at android.app.Application.dispatchActivityCreated(Application.java:221)
       at android.app.Activity.onCreate(Activity.java:1071)
       at androidx.core.app.ComponentActivity.onCreate(ComponentActivity.java:81)
       at androidx.activity.ComponentActivity.onCreate(ComponentActivity.java:154)
       at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:312)
       at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:106)
       at com.tomatedigital.adinjector.AdsAppCompatActivity.onCreate(AdsAppCompatActivity.java:253)
       at com.tomatedigital.giveawaymaster.activity.BaseActivity.onCreate(BaseActivity.java:132)
       at com.tomatedigital.giveawaymaster.activity.MainActivity.onCreate(MainActivity.java:623)
       at android.app.Activity.performCreate(Activity.java:7258)
       at android.app.Activity.performCreate(Activity.java:7249)
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1222)

приложение работает более 5 000 пользователей в день но я не смогу повторить ошибку в dev ...

Кто-нибудь есть какие-либо идеи, что может быть

Ответы [ 4 ]

1 голос
/ 06 февраля 2020

Как вы можете видеть здесь:

enter image description here

А здесь:

enter image description here

Сначала необходимо вызвать обратный вызов super, чтобы избежать ошибок из-за незавершенности создания Activity.

Источник снимков экрана: https://developer.android.com/guide/components/activities/activity-lifecycle#java

1 голос
/ 07 февраля 2020

Я только что обнаружил эту проблему в новых firebase-core и firebase-analytics apis im import.

, чтобы решить ее, мне нужно понизить

implementation 'com.google.firebase:firebase-core:17.2.0'

для получения дополнительной информации, пожалуйста, обратитесь к этому. java .util.ConcurrentModificationException в действии onCreate

1 голос
/ 06 февраля 2020

Согласно журналам и моему пониманию ...

super.onCreate() вызов в последнем не является основной причиной cra sh.

Эта ошибка является причиной одновременного изменения в вашем HashMap (вы взяли), и несколько потоков пытаются получить доступ и редактировать в этом HashMap.

Потому что ...

HashMap несинхронизирован . Он не является потокобезопасным и не может использоваться несколькими потоками без надлежащего кода синхронизации, тогда как Hashtable синхронизируется ....

0 голосов
/ 11 марта 2020

Ошибка com.google.firebase:firebase-core. они исправили это в версии 17.2.3, см. журнал изменений: https://firebase.google.com/support/release-notes/android#analytics_v17 -2-3

...