代码之家  ›  专栏  ›  技术社区  ›  Ilja

如何在内存不足的情况下从缓存中释放本地映像?

  •  0
  • Ilja  · 技术社区  · 7 年前

    我正在使用一个应用程序,它可以将许多本地图像(即具有源代码的图像)进行UTalize require(../assets/MyImage.png) .

    在开发过程中,我没有遇到任何问题,但当我在iphone 5s上构建应用程序发布时,我开始随机重启设备。经过一些研究,我发现每当我浏览我的应用程序并加载所有这些不同的图像(其中一些是厚重的背景图像)时,它们都会保存在iOS内存/RAM中。

    在我卸载屏幕/导航到不同的屏幕后,内存并没有被清除,它只是在我使用我的应用程序和加载新图像时不断增长,最终应用程序崩溃。

    我发现iOS中有一个AppDelegate方法,名为 didReceiveMemoryWarning

    如果您能就此问题提供任何建议,我将不胜感激。

    注意:我在某个地方读到iOS将自动管理内存,但在使用XCode内存分析器和仪器之后,我不相信会发生这种情况,只要屏幕上安装了新资源,它就会不断向上增长。

    内存分析器输出 enter image description here

    1 回复  |  直到 7 年前
        1
  •  1
  •   Ilja    7 年前

    https://github.com/DylanVann/react-native-fast-image

    它改进了内存管理和图像性能。作为额外的好处,它允许在iOS项目中使用WebP图像,这大大减少了我的包大小。