【问题标题】:FATAL EXCEPTION for AndroidRuntime when starting the app for a period of time and lead to crashFATAL EXCEPTION for AndroidRuntime 启动应用程序一段时间并导致崩溃
【发布时间】:2022-01-06 20:53:55
【问题描述】:

我有一个 Android 应用程序在 Android 4.4.2 设备上运行。并打开应用程序大约 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

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

【问题讨论】:

    标签: java android bluetooth hashmap


    【解决方案1】:

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

    能否提供代码

    它会开始扫描蓝牙数据包

    【讨论】:

      猜你喜欢
      • 2020-05-07
      • 2015-07-24
      • 1970-01-01
      • 2020-03-09
      • 2014-09-06
      • 2020-12-02
      • 1970-01-01
      • 1970-01-01
      • 2021-02-26
      相关资源
      最近更新 更多