2012-04-09 9 views
0

私はiPhoneアプリを開発しています。そこには、アプリにバンドルされた画像があり、新しい画像がダウンロードされてDocuments dirに入れられます。私がそれらを必要とするとき、私は彼らが新しいかバンドルされているかわからないので、私はそれをチェックする簡単なヘルパークラスを作った。リソースやドキュメントから画像を取得する

動作は遅いですが、どうすればスピードアップできますか?私はDocuments dirから来る画像をキャッシュする必要があることを知っていますが、最も効果的な方法は何でしょうか?コードは現在のところ最適化されていません。どんな助けでも謝られます。

http://pastebin.com/L7WCqjxX

答えて

1

いくつかのヒント:

  • 常にあなたのdocsDirNSSearchPathForDirectoriesInDomains)、インスタンス変数に格納します(または[あなたのケースのような]クラスメソッドは、静的に格納した場合に検索されません変数)
  • は、それが
    • がバックグラウンドであなたのMethodeのを実行して、あなたのビューコントローラ(または他のDに送信するためのデリゲートプロトコルを作成する「スレッド」にしますエレガントなクラス)。バックグラウンドスレッドで+ (UIImage *)imageNamed:(NSString *)nameと呼び出してください。イメージがNSData/Pathからロードされると、イメージがバックグラウンドでロードされ、イメージを表示したことをViewController(performSelectorOnMainThread!)に通知します(これにより、大量のジャークを避けることができます)。
  • マルチコアプロセッサのフルパワーを得るには、NSOperationQueueを使用することを検討してください。

SDWebImageを見てください。私が上記のすべてのものに。

+0

よろしくお願いいたします。 –

関連する問題