[英]Concurrent Modification Exception in Google Analytics
我正在将 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)
我得到了一个解决方案,它是由于 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/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.