gpt4 book ai didi

iphone - 使用 UIImage 的大型 NSArray 时出现内存问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:47:01 25 4
gpt4 key购买 nike

我正在尝试使用一组 UIImages 在屏幕上显示大量图像。目前,我将每张图片添加到 NSMutableArray 中,然后在需要时访问它们,但随着图片数量的增加,应用程序最终会崩溃。

我尝试使用 Instruments 来计算内存分配,但似乎一旦内存达到 20MB 左右,应用程序就会崩溃。有办法解决这个问题吗?或者在我这样做的时候有什么方法可以尽可能地节省内存?即使您对此没有答案,有没有人遇到过类似的问题?如果是这样,您是如何妥协/解决的?

顺便说一句,我没有想到存储到文件(或核心数据)和从文件(或核心数据)中检索选项,因为该应用程序需要快速使用图像,而且我的印象是写入/读取核心数据或文件在 iOS 上比使用内存时慢(如果我错了请纠正我)

最佳答案

是的,如果你在可变数组中存储大量图像,那么它会占用大量可用内存。您也可以考虑核心数据。但是在运行时存储和检索核心数据中的数据时会发生一些缓慢的功能,但它可以安全地防止内存使用。
对于这种情况,我总是推荐并使用以下功能。我将所有图像缓存在文档目录中,并将其 URL(文件位置)路径保存在核心数据(或任何其他数据库)中。现在在演示时,我从存储当前图像、上一张图像和下一张图像中拍摄了 3 张图像。每当我显示当前图像时,用户都可以滚动,他可以流畅地看到下一张或上一张图像。如果用户移动到下一张图片,那么我会更改这三张图片。当前图像现在是我以前的图像,下一个图像将是我当前的图像,我从我的存储位置加载新图像,这将是下一个图像。所以让所有图像循环,我们只使用 3 张图像来处理这个循环。

关于iphone - 使用 UIImage 的大型 NSArray 时出现内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16050393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com