【问题标题】:How can I solve/suppress DeadObjectException in Xamarin.Forms Map如何解决/抑制 Xamarin.Forms Map 中的 DeadObjectException
【发布时间】:2020-07-31 20:19:19
【问题描述】:

我正在开发的一个 Android Xamarin 应用通过应用中心报告了以下调用堆栈的错误:

android.os.BinderProxy.transactNative Binder.java
android.os.BinderProxy.transact Binder.java:503
android.app.ActivityManagerProxy.bindService ActivityManagerNative.java:4509
android.app.ContextImpl.bindServiceCommon ContextImpl.java:1432
android.app.ContextImpl.bindService ContextImpl.java:1395
android.content.ContextWrapper.bindService ContextWrapper.java:632
jd.b :com.google.android.gms.dynamite_mapsdynamite@202414044@20.24.14 (040300-0):10
im.a :com.google.android.gms.dynamite_mapsdynamite@202414044@20.24.14 (040300-0):23
im.a :com.google.android.gms.dynamite_mapsdynamite@202414044@20.24.14 (040300-0):40
he.h :com.google.android.gms.dynamite_mapsdynamite@202414044@20.24.14 (040300-0):26
hi.handleMessage :com.google.android.gms.dynamite_mapsdynamite@202414044@20.24.14 (040300-0):50
android.os.Handler.dispatchMessage Handler.java:98
android.os.Looper.loop Looper.java:158
android.os.HandlerThread.run HandlerThread.java:61

我自己从未见过此错误,但我相信它是由 Google 地图引起的,如下所示:

com.google.android.gms.dynamite_mapsdynamite...

我的应用使用 Xamarin Forms Map 类:Xamarin.Forms.Maps.Map

因为我不知道如何重现这个(这非常罕见),并且因为我在调用堆栈中没有看到我自己的任何代码(这一切似乎都是内部 java 调用)有没有办法诊断这个问题进一步,还是以某种方式抑制错误?

根据 App Center 的说法,这会导致我们的应用程序崩溃。由于地图对我们的应用程序并不重要(只是为了方便),我宁愿地图丢失也不愿崩溃,所以即使是高级别的错误抑制也是可以的。

有没有办法找出可能导致错误的原因?有没有办法抑制它或解决根本问题?

【问题讨论】:

    标签: android google-maps xamarin


    【解决方案1】:

    我会使用 AppCenter 的 LogFlow 并记录进入地图部分的所有参数。这样,当发生崩溃时,您可以查看其中包含哪些参数,并且您可能能够重现它。 由于它是一个外部 API,我还会在 Google 地图控制台中查找错误,并检查您是否达到了 Google 地图计划的任何限制。

    【讨论】:

      猜你喜欢
      • 2011-10-25
      • 1970-01-01
      • 1970-01-01
      • 2018-12-27
      • 1970-01-01
      • 1970-01-01
      • 2019-04-23
      • 2018-09-20
      • 1970-01-01
      相关资源
      最近更新 更多