gpt4 book ai didi

iphone - UIImage性能解决方案

转载 作者:行者123 更新时间:2023-12-03 21:24:22 25 4
gpt4 key购买 nike

这个问题有更优雅的解决方案吗?

我有大约 70 个 .png 图像,我想在按下按钮时加载并从数组中随机拉取。 (屏幕上一次最多可以显示 50 个图像,每个图像的大小为 40-68kbs,尺寸为 150X215,显然前景图像后面有时会出现重叠和覆盖的图像)我应该使用以下示例来实现这一目标吗?

示例:

-(void)viewDidLoad {
UIImage *dogImage = [UIImage imageNamed: @"dog.png"];
UIImage *catImage = [UIImage imageNamed: @"cat.png"];
// And so on 68 more times followed by....

for (int i = 1; i <= 70; i++) {
UIImageView *dogView = [[UIImageView alloc]initWithImage:dogImage];
UIImageView *catView = [[UIImageView alloc]initWithImage:catImage];

// And so on 68 more times followed by....

NSArray *animalArray = [[NSArray alloc] initWithObjects: dogView, catView, nil];

// And so on 68 more times ending the array with ,nil

// other code and and release calls, etc...

}

}

这对于性能来说是否良好,或者我是否会在启动时或启动后不久使应用程序崩溃?

除了这种方式还有其他选择吗?

最佳答案

嗯,大约有 3.8MB 的图像。当用户坐在那里等待 View 出现时,可能需要一些时间来加载。尝试一下,看看需要多长时间。

如果在按下按钮之前不需要图像,则加载它!如果您一次只使用其中一张图像,那么您会在加载 70 张图像上浪费大量时间。

我建议您不要尝试在 ViewDidLoad 中加载所有这些。如果您必须一次将它们全部放入数组中,则将图像加载到单独线程上的数组中,并在加载每个图像时将其添加到数组中。

关于iphone - UIImage性能解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1950012/

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