【发布时间】:2012-02-13 19:06:22
【问题描述】:
嗯,内存管理让我发疯!
这是我的问题:
我有一个 plist,其中包含 n 个对图像的引用。 我只是想做的是抓住每个孩子并将其加载到 UIImageView 至极,然后将其添加到启用分页的 UIScrollView。
我的问题:
- 我有 n 张图片。可能只有 3 个,但可能是 60 个或更多。
- 每张图片都具有相当大的分辨率 (1152x1536),因为它可以缩放。
我阅读了 CATiledLayer,并看到了 PhotoScroller 示例,但我想避免使用 CATiledLayer,因为它在显示图像片段时会产生淡入淡出,而在我的项目中,这种效果不适合。
我只是想听听你的意见,你通常如何解决这种任务?
我将在这里留下一段代码:
UIImage * image;
UIImageView * imageview;
for (int i = 0; i < [data count]; i++)
{
image = [[UIImage alloc] initWithContentsOfFile:[NSString stringWithFormat:@"%@/%@",
[[NSBundle mainBundle] bundlePath],
[[data objectAtIndex:i] objectForKey:@"content"]]];
[content addObject:image];
imageview = [[UIImageView alloc] initWithImage: [content objectAtIndex:i] ];
[imageview setTag:i+10];
imageview.frame = CGRectMake(1024 * i, 0, 1024, 768);
[scroll addSubview: imageview];
[imageview release];
[image release];
}
[scroll setContentSize:CGSizeMake(1024*[data count], 768)];
例如,当我尝试加载 60 张图片时,此代码会使应用收到内存警告。
我想你明白了吧?
有什么建议吗?
提前感谢您的帮助!
【问题讨论】:
标签: objective-c memory-management uiscrollview uiimage memory-warning