反应本机 Crashed:Thread:SIGSEGV libjsc.so

React Native Crashed:Thread : SIGSEGV libjsc.so

我们在 android 台设备的各个随机位置发生以下崩溃。虽然我们已经将 ndk abifilters 更改为“armeabi-v7a”、“arm64-v8a”

  Crashed: Thread :  SIGSEGV  0x0000000000000010
  #00 pc 0x723d46f748 libjsc.so 
  #01 pc 0x723d4bbfe8 libjsc.so 
  #02 pc 0x7339d68b6c libc.so 

当前配置

RN 版本 0.63.4

 defaultConfig {
    ..
    ndk { abiFilters  "armeabi-v7a", "arm64-v8a" }
}
splits {
    abi {
        reset()
        enable enableSeparateBuildPerCPUArchitecture
        universalApk false  // If true, also generate a universal APK
        include "armeabi-v7a",
                "x86", "arm64-v8a", "x86_64"
    }
}

 project.ext.react = [
    entryFile   : "index.js",
    enableHermes: false,  // clean and rebuild if changing
 ]

我只在 Android RN 0.59.5 上使用 JSC 遇到过此类问题 运行,唯一的出路是升级 JSC。

这个问题是由于 JSC 深处发生的内存问题,我们几乎无能为力。

查看这些主题以获取更多信息:

https://github.com/facebook/react-native/issues/24261

https://github.com/facebook/react-native/pull/25426/files

但由于您已经在使用 RN 版本 0.63.4,唯一的方法是取消 JSC 并启用 Hermes。 Hermes 提供了很多性能优化,例如字节码、更快的冷启动等。阅读更多相关信息 here

如果需要,您可以在 react-native/package.json 中检查您的应用程序中使用的 JSC 版本,看看是否可以进一步升级。

如果您使用的是 webview 并遇到问题,请将 animationEnabled: false 放入出现问题的屏幕中

<Stack.Screen
        name="CampaygnsDetail"
        component={CampaygnsDetail}
        options={{
          animationEnabled: false,
        }}
        />