Thread.java中的java.lang.InternalError

Thread.java中的java.lang.InternalError,java,android,multithreading,Java,Android,Multithreading,在我的应用程序中,一些设备发生了奇怪的崩溃。我以前从未见过这种错误。这是stacktrace Non-fatal Exception: java.lang.InternalError: Thread starting during runtime shutdown at java.lang.Thread.nativeCreate(Thread.java) at java.lang.Thread.start(Thread.java:1063) at jav

在我的应用程序中,一些设备发生了奇怪的崩溃。我以前从未见过这种错误。这是stacktrace

Non-fatal Exception: java.lang.InternalError: Thread starting during runtime shutdown
       at java.lang.Thread.nativeCreate(Thread.java)
       at java.lang.Thread.start(Thread.java:1063)
       at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:921)
       at java.util.concurrent.ThreadPoolExecutor.processWorkerExit(ThreadPoolExecutor.java:989)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
       at java.lang.Thread.run(Thread.java:818)  

我不知道怎么解决它。请帮帮我

根据android sourcecode,当nativeCreate中的线程发生内部异常时,正确的原因是进程运行时线程处于关闭状态:

 // Atomically start the birth of the thread ensuring the runtime isn't        shutting down.
    bool thread_start_during_shutdown = false;
   {
    MutexLock mu(self, *Locks::runtime_shutdown_lock_);
    if (runtime->IsShuttingDownLocked()) {
      thread_start_during_shutdown = true;
    } else { 
      runtime->StartThreadBirth();
    }
  }
  if (thread_start_during_shutdown) { 
    ScopedLocalRef<jclass> error_class(env, env->FindClass("java/lang/InternalError"));
    env->ThrowNew(error_class.get(), "Thread starting during runtime shutdown");
    return;
  } 
//以原子方式启动线程的诞生,确保运行时不会关闭。
关闭期间bool线程启动=false;
{
MutexLock mu(self,*Locks::runtime\u shutdown\u lock);
如果(运行时->IsShuttingDownLocked()){
线程在关闭期间启动=真;
}否则{
运行时->开始线程出生();
}
}
如果(线程在关闭期间启动){
ScopedLocalRef错误_类(env,env->FindClass(“java/lang/InternalError”);
env->ThrowNew(错误_class.get(),“运行时关机期间线程启动”);
返回;
} 

能否请您分享更多详细信息(代码、错误案例等)浏览此链接可能对您有所帮助。