gpt4 book ai didi

带有服务器的 ios 快速图像缓存

转载 作者:行者123 更新时间:2023-11-29 10:40:18 26 4
gpt4 key购买 nike

我正在尝试使用 Path's FastImageCache library在我的应用程序中处理照片。他们提供的示例只是从磁盘读取图像。有谁知道我如何修改它以从 url 读取?在关于 providing source images to the cache 的部分他们有

- (void)imageCache:(FICImageCache *)imageCache wantsSourceImageForEntity:(id<FICEntity>)entity withFormatName:(NSString *)formatName completionBlock:(FICImageRequestCompletionBlock)completionBlock {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// Fetch the desired source image by making a network request
NSURL *requestURL = [entity sourceImageURLWithFormatName:formatName];
UIImage *sourceImage = [self _sourceImageForURL:requestURL];

dispatch_async(dispatch_get_main_queue(), ^{
completionBlock(sourceImage);
});
});
}

有没有人以前用过这个api并且知道如何从服务器获取源以传递给缓存?另一个仍然使用硬盘的例子是

- (void)imageCache:(FICImageCache *)imageCache wantsSourceImageForEntity:(id<FICEntity>)entity withFormatName:(NSString *)formatName completionBlock:(FICImageRequestCompletionBlock)completionBlock {
// Images typically come from the Internet rather than from the app bundle directly, so this would be the place to fire off a network request to download the image.
// For the purposes of this demo app, we'll just access images stored locally on disk.
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
UIImage *sourceImage = [(FICDPhoto *)entity sourceImage];
dispatch_async(dispatch_get_main_queue(), ^{
completionBlock(sourceImage);
});
});
}

最佳答案

我在 Path 时从事 Fast Image Cache 方面的工作。 Fast Image Cache 的关键部分是它是从磁盘上的图像数据到由 Core Animation 渲染的绝对最快的方式。没有解码发生,您的应用程序没有将任何图像数据保存在内存中,也没有图像复制发生。

也就是说,您有责任弄清楚如何下载图像。下载图像本身并没有什么特别之处。您可以使用 NSURLConnection 或许多流行的网络库之一(如 AFNetworking)从您的服务器实际下载图像数据。获得该图像数据后,您可以调用 Fast Image Cache 的相关完成 block ,让它针对 future 的渲染对其进行优化。

如果您正在寻找一种简单的方法来下载图像并在完成后显示它,那么请使用 SDWebImage 之类的工具。它非常适合像这样的简单案例。如果您因为应用需要快速显示大量图像而遇到性能瓶颈(尤其是滚动),那么 Fast Image Cache 非常适合您。

关于带有服务器的 ios 快速图像缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24859798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com