Android Google Play Services地图中的java.lang.StackOverflowerr

Android Google Play Services地图中的java.lang.StackOverflowerr,android,google-maps-android-api-2,Android,Google Maps Android Api 2,我注意到我的应用程序中StackOverflow崩溃的数量增加了,这一切似乎都指向了Google Play Services地图。我目前使用的是15.0.1版本(com.google.android.gms:play services maps:15.0.1),但这是大约两周前开始的,当时我还在使用15.0.0。有几个崩溃,但它们都会导致stackoverflow,当处理Maps代码中的Hashmaps或数组时(这是模糊的)。崩溃的一些示例(我只是将堆栈跟踪复制到它指向模糊映射代码的位置): 我

我注意到我的应用程序中StackOverflow崩溃的数量增加了,这一切似乎都指向了Google Play Services地图。我目前使用的是15.0.1版本(com.google.android.gms:play services maps:15.0.1),但这是大约两周前开始的,当时我还在使用15.0.0。有几个崩溃,但它们都会导致stackoverflow,当处理Maps代码中的Hashmaps或数组时(这是模糊的)。崩溃的一些示例(我只是将堆栈跟踪复制到它指向模糊映射代码的位置):

我也有一些其他的崩溃直接在模糊的地图代码

其他一些信息:地图不在我的应用程序的主流程中,所以只有8%的用户使用它——每天大约200个左右的电话。今天是迄今为止最糟糕的一天,62次崩溃影响了13个用户——两天前是42次崩溃,而其他大多数日子我没有崩溃

受影响的操作系统版本:7.0、6.0.1、4.4.2、7.1.1、4.1.2、5.1、4.3

设备:三星、索尼、联想、摩托罗拉E3(无论是什么)和华为


任何帮助或指点都是有用的

你是在递归调用你提到的代码吗?如果是这样的话,递归的结束是什么?没有。我忘了提到代码大概一年没变了。我只是显示一个地图视图,然后有时在上面画标记,有时清除它。在我自己的代码中绝对并没有递归。看看这个答案,试着在伦敦市中心用地图放大(我不是开玩笑)。我也有同样的问题。
Fatal Exception: java.lang.StackOverflowError: stack size 1038KB
   at java.util.HashMap.remove(HashMap.java:617)
   at com.google.maps.api.android.lib6.gmm6.util.e.d(:com.google.android.gms.dynamite_dynamitemodulesb@12685021@12.6.85 (040306-197041431):29)

Fatal Exception: java.lang.StackOverflowError
   at java.util.ArrayList$ArrayListIterator.(ArrayList.java:551)
   at java.util.ArrayList.iterator(ArrayList.java:548)
   at java.util.Collections$UnmodifiableCollection$1.(Collections.java:953)
   at java.util.Collections$UnmodifiableCollection.iterator(Collections.java:952)
   at com.google.maps.api.android.lib6.common.i.iterator(:com.google.android.gms.dynamite_dynamitemodulesb@12685002@12.6.85 (000304-197041431):25)

Fatal Exception: java.lang.StackOverflowError: stack size 8MB
   at java.util.HashMap.createEntry(HashMap.java:826)
   at java.util.HashMap.addEntry(HashMap.java:813)
   at java.util.HashMap.put(HashMap.java:436)
   at com.google.maps.api.android.lib6.gmm6.util.e.b(:com.google.android.gms.dynamite_dynamitemodulesb@12685020@12.6.85 (040304-197041431):17)

Fatal Exception: java.lang.StackOverflowError: stack size 8MB
   at java.util.HashMap.removeEntryForKey(HashMap.java:597)
   at java.util.HashMap.remove(HashMap.java:584)
   at com.google.maps.api.android.lib6.gmm6.util.e.d(:com.google.android.gms.dynamite_dynamitemodulesb@12685023@12.6.85 (040400-197041431):29)


Fatal Exception: java.lang.StackOverflowError: stack size 8MB
   at java.util.ArrayList.(ArrayList.java:170)
   at com.google.maps.api.android.lib6.common.i.(:com.google.android.gms.dynamite_dynamitemodulesb@12685020@12.6.85 (040304-197041431):9)