谷歌地图泄露JNI全球参考

时间:2015-06-11 07:22:22

标签: android google-maps xamarin xamarin.android

我在各种情况下使用Google地图的Xamarin.Android应用程序 - 例如,用户可以打开在地图上显示为折线的各种路径的详细信息。我不时会收到这个错误:

E/dalvikvm(13160): JNI ERROR (app bug): global reference table overflow (max=51200)

W/dalvikvm(13160): JNI global reference table (0x848a2008) dump:

W/dalvikvm(13160):   Last 10 entries (of 51200):

W/dalvikvm(13160):     51199: 0x45a244d0 com.google.android.gms.maps.Projection

W/dalvikvm(13160):     51198: 0x45e5e9d8 com.google.android.gms.maps.model.LatLng

W/dalvikvm(13160):     51197: 0x45e5ea18 com.google.android.gms.maps.model.LatLng

W/dalvikvm(13160):     51196: 0x45e5ea58 com.google.android.gms.maps.model.LatLngBounds

W/dalvikvm(13160):     51195: 0x45e5ead8 com.google.android.gms.maps.model.VisibleRegion

W/dalvikvm(13160):     51194: 0x45f9bc28 com.google.android.gms.maps.Projection

W/dalvikvm(13160):     51193: 0x43975690 com.google.android.gms.maps.model.LatLng

W/dalvikvm(13160):     51192: 0x43975788 com.google.android.gms.maps.model.LatLng

W/dalvikvm(13160):     51191: 0x439757a8 com.google.android.gms.maps.model.LatLngBounds

W/dalvikvm(13160):     51190: 0x43975810 com.google.android.gms.maps.model.VisibleRegion

接下来是全球参考表的摘要。最大的项目总是:

1668 of com.google.android.gms.maps.model.LatLng (1668 unique instances)
...
378 of com.google.android.gms.maps.model.Polyline (378 unique instances)
...
44439 of com.google.android.gms.clearcut.a.h (44439 unique instances)

我知道Xamarin使用Managed Callable Wrappers来处理LatLng,Polyline和所有这些东西,所以我已经添加了围绕它们的处理逻辑。但真正的杀手呢:

  

com.google.android.gms.clearcut.a.h

我不知道这是什么(谷歌没有帮助),如何处置它,从而防止gref表溢出杀死我的应用程序。有什么想法吗?

0 个答案:

没有答案