【问题标题】:React-Native Memory Issues in AndroidAndroid 中的 React-Native 内存问题
【发布时间】:2017-03-09 18:01:34
【问题描述】:

我正在 Android 设备上基于 React-Native 运行我的项目,当我向下滚动列表时,应用程序内存不断增加。即使在导航到其他屏幕后,在 android 的情况下也不会释放内存,而在 ios 设备的情况下会释放大量内存。对 android 的调查是在 android 活动监视器上完成的,同样的视频是可用的 here

在android的情况下如何释放内存?

【问题讨论】:

    标签: android react-native react-native-android


    【解决方案1】:

    这是 React Native 在底层使用的 Android 库 Fresco 的标准行为。 Fresco 将内存中的所有图像缓存到系统授权的最大值。它是一个缓存,因此即使图像从屏幕上删除,它们也会保留在内存中,以防万一,以备后用。

    当应用需要内存空间时,GC 能够“报废”这个缓存。这就是屏​​幕录制中 0'24'' 发生的情况(您可以看到分配的内存有一个小的“下降”)。

    这个article详细解释了内存管理。

    总之,使用图像的 React Native 应用程序将始终使用系统允许的几乎所有内存。内存逐渐释放以满足应用程序的需要。

    【讨论】:

    • 如何优化呢?
    【解决方案2】:

    目前 React Native ListView 存在已知问题,请在此处查看与 listview 相关的问题https://react-native.canny.io/feature-requests/p/fix-various-listview-issues。在此期间检查这个 repo,它试图优化 listview 的性能https://github.com/sghiassy/react-native-sglistview

    【讨论】:

      猜你喜欢
      • 2018-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多