Kir*_*mar 6 objective-c uiimage ios nscache
我的应用程序是一种图片库.当用户点击图库中的图标时,需要显示图像(横向2图像,纵向1图像).图片可能超过100.我通常采用原始文件并解码为UIImage格式.如果用户想要看到另一个图像,则由于解码而花费一些时间(延迟)来显示图像.所以我想在一个单独的线程(GCD)中将一些图像保存到缓存(NSArray)中以解决此问题.
在阵列中,我可以存储5到10个图像.每次用户滑动时都需要更新.
请提出建议.
提前致谢.
小智 2
试试这个 -
UIImage *image = [imageCache objectForKey:@"myImage"];
if (!image)
{
// download image
dispatch_async(dispatch_get_global_queue(0, 0), ^{
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:yourURL]];
if (imageData)
{
// Set image to cache
[imageCache setObject: [UIImage imageWithData:imageData] forKey:@"myImage"];
dispatch_async(dispatch_get_main_queue(), ^{
[yourImageView setImage:[UIImage imageWithData:imageData]];
});
}
});
}
else
{
// Use image from cache
[yourImageView setImage:image];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
163 次 |
| 最近记录: |