我的应用程序内存有问题。我检查了Instruments以获得有关此问题的更多线索,并且发现此内存占用了我79%的内存:
因此,我在Google上进行了搜索,有人说这是图像缓存,将所有图像保存在内存中。也许是我分配的?
这是我如何称呼我的图片:
info = [InfoModel getInfo:[NSString stringWithFormat:@"%d", self.idEnigme]];
myImage = [UIImage imageNamed:[NSString stringWithFormat:@"res/img/%@", [info objectForKey:@"path1"]]];
myImageView = [[UIImageView alloc] initWithImage:myImage];
myImageView.frame = CGRectMake(0, 200, [[UIScreen mainScreen] bounds].size.width, 400);
[self.scrollView addSubview:myImageView];
信息是一个类,其中我解析一个Json文件,这是我的图像路径。
感谢您的帮助,这使我发疯。
最佳答案
当您呼叫imageNamed:
时,iOS会自动缓存图像以备将来使用
如在一些地方所讨论的,包括:Does UIImageView cache images?
如果您知道只使用一次创建一次缓存,则可以解决此缓存问题
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:fileName ofType:nil]]
代替