Ios 在Swift中使用多个图像选择库时,应用程序崩溃后内存使用率高

Ios 在Swift中使用多个图像选择库时,应用程序崩溃后内存使用率高,ios,out-of-memory,Ios,Out Of Memory,我正在进行多重图像选择,这里我使用了一个库。问题是,当我开始使用此库功能时,它会大量使用内存,并且在应用程序崩溃后会显示错误消息“来自调试器的消息:由于内存问题而终止”。此外,请检查内存使用的映像并帮助我解决此问题。因为您没有共享任何代码,我鼓励您阅读以下文章以查找内存泄漏和/或僵尸对象: 更新: 原来的库已经过时了,它的最后一次更新是在4年前,我想您正在将它移植到Swift。索罗斯指出的是我先前所说的。您不应该在内存中保留大量的UIImages,要修复它,您需要保留对资产的引用,并卸

我正在进行多重图像选择,这里我使用了一个库。问题是,当我开始使用此库功能时,它会大量使用内存,并且在应用程序崩溃后会显示错误消息“来自调试器的消息:由于内存问题而终止”。此外,请检查内存使用的映像并帮助我解决此问题。

因为您没有共享任何代码,我鼓励您阅读以下文章以查找内存泄漏和/或僵尸对象:

更新:
原来的库已经过时了,它的最后一次更新是在4年前,我想您正在将它移植到Swift。索罗斯指出的是我先前所说的。您不应该在内存中保留大量的
UIImage
s,要修复它,您需要保留对资产的引用,并卸载不可见的单元格。要想得到一个想法,请查看这个图书馆

由于您没有共享任何代码,我建议您阅读以下文章以查找内存泄漏和/或僵尸对象:

更新:
原来的库已经过时了,它的最后一次更新是在4年前,我想您正在将它移植到Swift。索罗斯指出的是我先前所说的。您不应该在内存中保留大量的
UIImage
s,要修复它,您需要保留对资产的引用,并卸载不可见的单元格。要想得到一个想法,请查看这个图书馆

如果查看控制器组下的BRPhotoPickerController.m文件,有一行:

info.originalImage = [UIImage imageWithCGImage:[representation fullResolutionImage]];
为库中的每个照片/视频分配内存。 此图像或视频处于完全分辨率,这意味着在显示选择器后几秒钟内内存将满。
由于原始照片/视频保留在内存中,因此该方法不合适。
相反,您可以做的是保留一个引用,如媒体的URL,并在以后重新引用。

也可能有帮助

如果查看控制器组下的BRPhotoPickerController.m文件,有一行:

info.originalImage = [UIImage imageWithCGImage:[representation fullResolutionImage]];
为库中的每个照片/视频分配内存。 此图像或视频处于完全分辨率,这意味着在显示选择器后几秒钟内内存将满。
由于原始照片/视频保留在内存中,因此该方法不合适。
相反,您可以做的是保留一个引用,如媒体的URL,并在以后重新引用。

也可能有帮助

您是否在内存中保留了几个
UIImage
s?我没有使用UIImage,在集合视图中使用的库中您是否在内存中保留了几个
UIImage
s?我没有使用UIImage,在集合视图中使用的库中我共享了代码,请点击第一行中的项目字,您将能够下载演示项目。我已经分享了代码,请点击第一行中的项目字,您将能够下载演示项目。