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

IT技术 reactjs react-native react-native-android
2021-05-05 11:24:19

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

查看我得到的 android 日志:

在此处输入图片说明

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

3个回答

这解决了我的问题:

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

<application android:largeHeap="true"

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

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

    <application android:largeHeap="true">

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

  1. 在 componentDidMount 中添加了未发布的计时器/侦听器
  2. 关闭范围泄漏。
  3. 大图像尺寸。
  4. 全局变量的使用。

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

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

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

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

对于 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

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

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