繁体   English   中英

Google Analytics 中的并发修改异常

[英]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/

https://github.com/grazies/analytics-issues/issues/692

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM