【问题标题】:React Native Image component not releasing memoryReact Native Image 组件不释放内存
【发布时间】:2020-11-24 18:14:32
【问题描述】:

我正在制作一个新闻应用,每篇新闻文章都会有一张与之关联的图片。我正在将它们加载到 Flipkart 的 recyclerlistview 中。问题是图像组件正在加载图像并且内存不断增加,但是当我查看 android profiler 时内存没有被释放,这使得应用程序被操作系统杀死。内存不断增加并超过 200MB,有时甚至达到 300MB。我不确定 Image 组件到底出了什么问题。我什至尝试过react-native-fast-image,但没有运气。内存不断增加。

这就是我将图像加载到 react-native-fast-image 中的方式


        <FastImage
          source={{
            uri: 'xxxxx',
          }}
          style={{
            width: Dimensions.get('window').width,
            height: Dimensions.get('window').height,
          }}
        />

我不太确定,是否必须在上面的代码中添加任何内容。

【问题讨论】:

    标签: react-native react-native-android


    【解决方案1】:

    这似乎是 react-native-fast-image 本身的一个错误,正如amount of open issues about memory leaks 所暗示的那样......恐怕除了等待补丁或提交拉取请求之外,您无能为力自己打补丁。

    您可以尝试使用 yarn add react-native-fast-image@x.x.x --exact 的另一个版本,但是最近几个版本的更新日志中没有关于内存泄漏的信息。

    【讨论】:

    • RN的Image组件呢?是不是也有这个bug?
    • 没有。至少我所知道的不是。我也在几个应用程序中使用它,还没有任何问题。
    • 你能看看我的代码吗?你用过的最新RN版本是什么?
    • 我最近用过 0.59 和 0.61。如果您对 react-native-fast-image 没有任何特殊用例,我只会使用 Image 组件中内置的 react-natives。你不应该有任何内存问题(无论哪个版本)。
    • 我现在使用的是 0.62.2,但我正面临这个问题。我也观察到,一个空白的应用程序(默认的介绍性 App.js 代码),代码没有变化也超过了 120MB 内存,在 RN 中是否正常?
    猜你喜欢
    • 2019-01-08
    • 1970-01-01
    • 2014-03-19
    • 2018-05-29
    • 1970-01-01
    • 2016-07-27
    • 1970-01-01
    • 2021-05-28
    相关资源
    最近更新 更多