gpt4 book ai didi

ios - UIGraphicsGetImageFromCurrentImageContext 和 Swift 内存使用

转载 作者:行者123 更新时间:2023-11-28 08:48:16 26 4
gpt4 key购买 nike

在一个应用程序中,我们使用以下函数创建一个组合多个图像的图像。

      UIGraphicsGetImageFromCurrentImageContext

起初我们没有注意到这个问题,因为函数 UIGraphicsGetImageFromCurrentImageContext 被多次使用。但是当应用程序完成并开始测试时,我们注意到在某些情况下应用程序会因为应用程序内存使用而崩溃。每次我们执行 UIGraphicsGetImageFromCurrentImageContext 它都会占用一些内存。我们注意到,在我们的应用程序的某些部分,我们不得不多次调用该函数,这是当问题浮出水面时。

此外,当从循环中调用以下函数“combineImages”完成时,内存使用量会显着下降。

您可以在下面找到导致问题的部分应用程序。

func combineImages() -> UIImage {


let imageSize = CGSizeMake(pageWidth ,pageHeight);

UIGraphicsBeginImageContextWithOptions(imageSize, false, 1.0);

let rectCombine = CGRectMake( 0, 0, imageSize.width, imageSize.height)

image1.drawInRect(rectCombine)
image2.drawInRect(rectCombine)
image3.drawInRect(rectCombine)
image4.drawInRect(rectCombine)

let combinedImage = UIGraphicsGetImageFromCurrentImageContext()

UIGraphicsEndImageContext()

return combinedImage

}

最佳答案

我们发现了那个函数

    func combineImages()

对于我们的内存问题几乎是无辜的。当我们试图查明有关该函数的问题时,我们会更改调用该函数的位置。

在将新图像添加到电影之前,我们从电影创建循环中调用了此函数。

现在我们在电影创建循环开始之前使用 combineImages 创建图像。

当我们创建组合图像时,我们注意到内存使用量根本没有增加。

此外,减少了创建电影文件时内存使用量的增加。

关于ios - UIGraphicsGetImageFromCurrentImageContext 和 Swift 内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34717244/

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