我有一个带有一些图片 url 的 NSMutableArray
。图片的大小在 12KB 到 6MB 之间。我使用 AsycImageView
类并实现,但是当大图像下载应用程序崩溃时,我在该类中为 maxsize 设置了 6*1024*1024 (6MB),将时间间隔从 60.0 秒增加到 180.o 秒,但没有用。我收到错误消息“收到内存警告”,当应用程序崩溃时自动从设备中删除连接,但在模拟器中没有崩溃。
最佳答案
使用 GCD
进行延迟加载
。
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{
NSString *strURL = url here;
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
UIImage *image = nil;
if(data)
image = [UIImage imageWithData:data];
dispatch_sync(dispatch_get_main_queue(), ^{
//now use image in image View or anywhere according to your requirement.
if(image)
yourImgView = image
});
});
关于objective-c - 如何从服务器异步检索图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16352337/