我的应用程序内存有问题。我检查了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]]


代替

10-06 09:56