java.lang.InternalError Android

时间:2017-08-03 23:21:10

标签: java android threadpoolexecutor

我收到此错误,我该如何解决?

  java.lang.InternalError: 
  at java.lang.Thread.nativeCreate (Native Method)
  at java.lang.Thread.start (Thread.java:1063)
  at java.util.concurrent.ThreadPoolExecutor.addWorker (ThreadPoolExecutor.java:920)
  at java.util.concurrent.ThreadPoolExecutor.processWorkerExit (ThreadPoolExecutor.java:988)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1130)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:587)
  at java.lang.Thread.run (Thread.java:818)

用户正在向我发送一些信息:

java.lang.StringIndexOutOfBoundsException: length=0; regionStart=0; regionLength=1
at java.lang.String.startEndAndLength(String.java:298)
at java.lang.String.substring(String.java:1087)

1 个答案:

答案 0 :(得分:1)

StringIndexOutOfBoundsException例外只是说有人试图在空字符串上调用substring(0, 1)。如果你进一步查看堆栈跟踪,这是来自你的代码吗?如果是这样,那么在调用substring之前,只需检查以确保字符串不为空。

对于Thread.nativeCreate,您是否有迹象表明它与其他StringIndexOutOfBoundsException例外有关?我不会假设,因为你没有提供任何有关他们关系的信息。 ThreadPoolExecutor.addWorker失败的最可能原因是资源耗尽,要么内存不足,要么耗尽设备上允许的线程。检查您正在使用支票获取和配置ThreadPoolExecutor的方式,以查看您是否可能超出其MaximumPoolSizeLargestPoolSize参数。