ReactNative中SimpleSettableFuture.java的重复崩溃

Eri*_*sey 7 android react-native

在我的React Native Android应用程序的Firebase崩溃报告中反复出现崩溃.但是,由于堆栈跟踪没有引用我的任何代码,因此我不知道会导致什么.有谁知道可能是什么原因?我在React Native 0.47.1上

堆栈跟踪如下:

Exception java.lang.RuntimeException: java.lang.InterruptedException
com.facebook.react.common.futures.SimpleSettableFuture.getOrThrow (SimpleSettableFuture.java:102)
com.facebook.react.bridge.queue.MessageQueueThreadImpl.startNewBackgroundThread (MessageQueueThreadImpl.java:199)
com.facebook.react.bridge.queue.MessageQueueThreadImpl.create (MessageQueueThreadImpl.java:146)
com.facebook.react.bridge.queue.ReactQueueConfigurationImpl.create (ReactQueueConfigurationImpl.java:87)
com.facebook.react.bridge.CatalystInstanceImpl.<init> (CatalystInstanceImpl.java:101)
com.facebook.react.bridge.CatalystInstanceImpl.<init> (CatalystInstanceImpl.java:42)
com.facebook.react.bridge.CatalystInstanceImpl$Builder.build (CatalystInstanceImpl.java:574)
com.facebook.react.ReactInstanceManager.createReactContext (ReactInstanceManager.java:999)
com.facebook.react.ReactInstanceManager.access$600 (ReactInstanceManager.java:109)
com.facebook.react.ReactInstanceManager$4.run (ReactInstanceManager.java:802)
java.lang.Thread.run (Thread.java:761)

Caused by java.lang.InterruptedException:
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly (AbstractQueuedSynchronizer.java:1301)
java.util.concurrent.CountDownLatch.await (CountDownLatch.java:203)
com.facebook.react.common.futures.SimpleSettableFuture.get (SimpleSettableFuture.java:66)
com.facebook.react.common.futures.SimpleSettableFuture.getOrThrow (SimpleSettableFuture.java:100)
com.facebook.react.bridge.queue.MessageQueueThreadImpl.startNewBackgroundThread (MessageQueueThreadImpl.java:199)
com.facebook.react.bridge.queue.MessageQueueThreadImpl.create (MessageQueueThreadImpl.java:146)
com.facebook.react.bridge.queue.ReactQueueConfigurationImpl.create (ReactQueueConfigurationImpl.java:87)
com.facebook.react.bridge.CatalystInstanceImpl.<init> (CatalystInstanceImpl.java:101)
com.facebook.react.bridge.CatalystInstanceImpl.<init> (CatalystInstanceImpl.java:42)
com.facebook.react.bridge.CatalystInstanceImpl$Builder.build (CatalystInstanceImpl.java:574)
com.facebook.react.ReactInstanceManager.createReactContext (ReactInstanceManager.java:999)
com.facebook.react.ReactInstanceManager.access$600 (ReactInstanceManager.java:109)
com.facebook.react.ReactInstanceManager$4.run (ReactInstanceManager.java:802)
java.lang.Thread.run (Thread.java:761)
Run Code Online (Sandbox Code Playgroud)

小智 2

这个问题也发生在许多其他人身上,原因多种多样。您可以在这里找到有关它的讨论。因为我真的不知道你的应用程序是做什么的,所以这里有一些可能的原因:

  1. 您正在使用react-native-navigation(您可以尝试将其改回react-navigation
  2. 您正在使用react-native-image-crop-pickerreact-native-image-picker(这会产生相同的错误,使您的应用程序在某些设备上崩溃并抛出InterruptedException

如果问题是第二个,你可以尝试通过 alter 修复它MainApplication.java

@Override
public boolean clearHostOnActivityDestroy() {
    return false;
}
Run Code Online (Sandbox Code Playgroud)

第 2 号中的修复也参考了这里的答案acintyo

至于更改react-native版本,你可以尝试,但我不建议这样做,因为在阅读了上述问题后,我发现很多版本也遇到了这个问题(大多数是0.49.+或0.45.x)