请提供解决方案,了解如何使用AsyncImageView一次从URL加载多个图像?因为图像加载时会出现一些内存问题。并且有超过500个图像来自Web服务
这是我的代码:
Maindict in 500 record
CGSize viewwidth=[[UIScreen mainScreen] bounds].size;
int size = (viewwidth.width/3)-10;
float x=(viewwidth.width-(size*3))/4;
float y=(viewwidth.width-(size*3))/4;
for (int i=0; i<Maindict.count; i++)
{
AsyncImageView *Galleryimg = [[AsyncImageView alloc]initWithFrame:CGRectMake(x,y,size,size)];
Galleryimg.contentMode = UIViewContentModeScaleAspectFill;
Galleryimg.clipsToBounds=YES;
Galleryimg.tag=i;
Galleryimg.imageURL=[NSURL URLWithString:[[[Maindict valueForKey:@"image"]objectAtIndex:i]stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[scroll addSubview:Galleryimg];
if((i+1)%3==0 && i!=0)
{
y=y+(size+(viewwidth.width-(size*3))/4);
x=(viewwidth.width-(size*3))/4;
}
else
{
x=x+(size+(viewwidth.width-(size*3))/4);
}
}
scroll.contentSize=CGSizeMake(viewwidth.width,y+(size+(viewwidth.width-(size*3))/4));
答案 0 :(得分:0)
您一次可以创建500张图像。我认为你应该在需要显示或使用它时创建图像。
您可以检测显示矩形何时接近图像位置,并在此时创建图像。
只是想法,但希望它有所帮助
答案 1 :(得分:-1)
试图在移动设备上同时加载500多张图片是一个非常糟糕的主意。它会快速耗尽设备的电池。你会收到很多低记忆警告。你需要延迟加载图片。
我发现您已经在使用scrollview来显示这些图像。您应该使用tableview或集合视图而不是scrollview。它们也是scrollview的子类。你应该开始在
中的单元格上下载图像- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
uitableview的数据源方法。