【问题标题】:How to offload react-native images from memory (iOS)?如何从内存(iOS)中卸载 react-native 图像?
【发布时间】:2019-04-30 09:37:25
【问题描述】:

我遇到了一些奇怪的事情,不确定这是否是 react-native <Image /><ImageBackground /> 的错误或预期功能

基本上,我在 XCode 中打开了内存分析器并得到了这些结果

每个峰值都来自使用新图像,在浏览完我的完整应用程序后,看起来所有图像都存储在内存中并且从未卸载过,这是令人担忧的,因为内存使用量会随着时间的推移而增长。

有没有办法以某种方式卸载这些图像,即当<Image /> 组件卸载或手动卸载时?

EDIT 这些不是网络图像,它们来自 ios 项目的 assets 文件夹,即

<Image source={{ uri: 'my_image' }} />

【问题讨论】:

    标签: image react-native memory


    【解决方案1】:

    您是否尝试查看是否正确卸载了包含图像的组件?

    Image组件的内存使用行为也很糟糕,所以你不妨试试https://github.com/DylanVann/react-native-fast-image

    【讨论】:

    • 嘿雨果!感谢您的建议,这些实际上不是网络图像,我更新了我的问题以反映这一点。
    • 这些图片是在flatlist items 中渲染的吗?
    • 不,这些在视图中使用,即背景图像、按钮图像等......当我在我的应用程序中导航时会随着时间的推移而增长。每个“峰值”是当我打开一个包含以前未查看过的图像的视图时,当我浏览我的应用程序的所有视图并渲染所有可能的图像时,内存图保持平坦,没有尖峰,但也不会下降/卸载它们,这是我关心的问题
    猜你喜欢
    • 2017-01-16
    • 2019-05-30
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    • 2021-11-29
    • 2017-06-04
    相关资源
    最近更新 更多