gpt4 book ai didi

objective-c - UIImage 导致内存泄漏

转载 作者:行者123 更新时间:2023-11-28 18:38:48 24 4
gpt4 key购买 nike

仪器告诉我,当我在我的应用程序中快速设置 UIImageview 的图像名称时,正在分配大量内存。我有一个 UIImageView,它在我的游戏中每一帧都会更改其图像名称。当使用僵尸检查工具进行分析时,该应用程序似乎不断以巨大的速度获取事件字节。有没有一种方法可以解除分配 UIImageView 的当前图像以阻止它执行此操作?我正在使用 ARC。

我分配 UIImageView 图像的代码如下:

aPlanet.image = [UIImage imageNamed:tempPlanetName];

其中 aPlanet 是 UIImageViewtempPlanetName 是图像的名称。这称为每一帧。

最佳答案

[UIImage ImageNamed:] 方法将图像加载到 ImageView 中,并将这个新创建的 uiimage 对象添加到自动释放池中。要摆脱这个问题,你应该使用 -

NSString *imgPath = [NSBundle mainbundle] pathForResource:@"imageName"ofType:@"png"];aPlanet.image = [[UIImage alloc] ]initWithContentsOfFile:imgPath];

如果您使用的是 arc,则无需费心释放这个新分配的 uiimage 对象,该对象是使用 initWithContentsOfFile: 方法创建的。

关于objective-c - UIImage 导致内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14153578/

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