0

我正在开发一个 iPhone 应用程序,其中我有一堆与应用程序捆绑在一起的图像,还有正在下载的新图像并将其放入 Documents 目录中。当我需要它们时,我不知道它们是新的还是捆绑的,所以我创建了一个简单的帮助类来为我检查它。

它有效,但速度很慢。我怎样才能加快速度?我知道我需要缓存来自 Documents 目录的图像,但最有效的方法是什么?该代码目前没有经过优化。任何帮助都是appriciated,谢谢。

http://pastebin.com/L7WCqjxX

4

1 回答 1

1

一些提示:

  • 并不总是搜索您的docsDir( NSSearchPathForDirectoriesInDomains),将其存储在实例变量中(或者如果类方法 [如您的情况],将其存储在静态变量中)
  • 让它“线程化”
    • 在后台运行您的方法并创建一个委托协议以发送到您的视图控制器(或其他委托类)。调用+ (UIImage *)imageNamed:(NSString *)name后台线程。当从 NSData/Path 加载图像时,通知您的 ViewController(performSelectorOnMainThread!)图像已在后台加载并呈现图像(这将大量避免抽搐)。
  • 考虑使用 NSOperationQueue 来获得多核处理器的全部功能!

看看SDWebImage ......他们是我上面告诉你的所有东西。

于 2012-04-09T08:22:46.243 回答