我正在将Google Analytics用于Android应用。代码通常工作正常。但是在生产中,Google Analytics代码偶尔会因ConcrruentModificationException而失败。 Crashlytics报道了这一点。
这是Google Analytics中的错误吗?
我必须创建自己的同步代码,以确保只从单个帖子调用Google Analytics吗?
Fatal Exception: java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:851)
at java.util.HashMap$EntryIterator.next(HashMap.java:891)
at java.util.HashMap$EntryIterator.next(HashMap.java:890)
at com.google.android.gms.analytics.Tracker.zzb(Unknown Source)
at com.google.android.gms.analytics.Tracker.send(Unknown Source)
答案 0 :(得分:0)
我得到了一个解决方案,它是由于 Google Analytics 的发送事件而发生的。多个线程正在使用这种跟踪器对象的方法。
我们只需要将其同步为:
synchronized public Tracker getDefaultTracker() {
// To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
if (sTracker == null) {
sTracker = sAnalytics.newTracker(R.xml.global_tracker);
}
return sTracker;
}
有关更多详细信息,请查看以下链接: https://developers.google.com/analytics/devguides/collection/android/v4/