内存不足应用程序崩溃 React Native

Out of memory Application crash React Native

使用 React Native 0.33 几秒钟后,应用程序停止(仅在 Android 上测试)

查看 android 日志,我得到:

我不知道如何检查这个问题。

这解决了我的问题:

将此添加到您的 "android/app/src/main/AndroidManifest.xml"

<application android:largeHeap="true"

参考:https://github.com/facebook/react-native/issues/6799

使用以下内容可能对您有所帮助

    <application android:largeHeap="true">

但是您可能需要检查您的应用程序是否存在内存泄漏。例如:

  1. 未发布 timers/listeners 添加到 componentDidMount
  2. 闭包范围泄漏。
  3. 大图像尺寸。
  4. 全局变量的使用。

我们的 React 本机应用程序也面临同样的问题。我们花了很多时间和精力来使我们的应用程序稳定一些。你可以看看这个博客,它对我们帮助很大 https://blog.swmansion.com/hunting-js-memory-leaks-in-react-native-apps-bd73807d0fde

更新: 在 API 中连续加载大量数据至少在低端设备上会增加 RAM 的负载,从而导致内存不足问题。您还需要清理它并找到更好的优化方式来加载数据。

对于 Android:在清单文件 Android 标签中

application android:largeHeap="true" 
android:hardwareAccelerated="true"

For iOS:在构建阶段下捆绑 React Native 代码和图像部分

export NODE_BINARY=node 
export NODE_ARGS=--max-old-space-size=8192
export NODE_OPTIONS=--max-old-space-size=8192
../node_modules/react-native/scripts/react-native-xcode.sh

此外,如果您的应用从网络加载图像,则使用下面的库

https://github.com/fungilation/react-native-cached-image