AndroidRuntime在启动应用程序一段时间后出现致命异常并导致崩溃



我有一个在android 4.4.2设备上运行的android应用程序。打开应用程序大约10分钟,它会导致崩溃,如下错误消息所示。但是我的代码没有任何线索,这让我很难调试它。有人可以提供一些可能的解决方案吗?

11-30 12:15:47.016 8689-9472/com.xxx.xxx E/AndroidRuntime: FATAL EXCEPTION: pool-1-thread-106
Process: com.xxx.xxx, PID: 8689
java.lang.StackOverflowError
at java.util.HashMap.secondaryHash(HashMap.java:350)
at java.util.HashMap.put(HashMap.java:404)
at java.util.HashSet.add(HashSet.java:95)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collections.java:380)
at java.util.Collections$SynchronizedCollection.add(Collecti
11-30 12:15:47.256 8689-8689/com.xxx.xxx E/dalvikvm: heapsize Dalvik_dalvik_system_VMRuntime_nativeMinimumHeapSize 0
11-30 12:15:47.256 8689-8689/com.xxx.xxx E/dalvikvm: heapsize dvmMinimumHeapSize 0
11-30 12:15:47.256 8689-8689/com.xxx.xxx E/dalvikvm: heapsize dvmMinimumHeapSize set minimumSize 0
11-30 12:15:47.336 8689-8689/com.xxx.xxx E/dalvikvm: heapsize Dalvik_dalvik_system_VMRuntime_nativeMinimumHeapSize 4194304
11-30 12:15:47.336 8689-8689/com.xxx.xxx E/dalvikvm: heapsize dvmMinimumHeapSize 4194304
11-30 12:15:47.336 8689-8689/com.xxx.xxx E/dalvikvm: heapsize dvmMinimumHeapSize set minimumSize 4194304

启动此应用程序时,它将开始扫描蓝牙数据包并处理一系列操作。我不确定这会是根本原因。

StackOverFlow当存在不具有基条件的递归调用时。函数一直调用自己,直到堆栈上没有更多空间为止

你能提供的代码吗

它将开始扫描蓝牙数据包

最新更新