繁体   English   中英

图像阵列导致内存问题

[英]Image Array Causing memory Issue

当前正在创建一个基本的图像幻灯片应用程序,为此,我创建了一个UIImage数组并使用以下代码对其进行调用。

let imageNames = (0...50).map
    {
        "\($0).JPG"
    }
    let image = UIImage(named: imageNames[0])

    imageView.animationImages = image

    imageView.animationDuration = 50
    imageView.startAnimating()

想知道是否有人能够提供一些建议。

您需要在数组而不是UIImage中添加图像名称。

let images: [String] = [
        "0.JPG",
         "1.JPG")!]

从数组字符串获取图像

let image = UIImage(named: images[0])

问题不在于图像在磁盘上占用多少内存,而是关于解决屏幕上所有像素所需的内存。 使用它们之前,您实际上并不需要存储图像。 小于1MB的一张图像将很快加载。

取而代之的是,您只需要保留图像的路径,并且仅当到达显示图像的代码时,才加载并显示它。

因此,结合亚历山大和KKRocks的即时答案:

在类的顶部,定义文件名数组:

let imageNames = (0...55).map { "\($0).JPG" }

显示图像的位置:

if let image = UIImage(named: images[0]) {
   ... the code that is blowing up ...
}

如果您不确定如何保存和检索文件,请参阅我最近在该主题上给出的以下答案:

在用户空间中保存和检索文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM