2

私は iOS アプリでいくつかの REST Webservice 呼び出しを使用しています。応答として、pdf、ppt、.mp4 などのドキュメント リストを取得し、選択時にサーバーからそれぞれのデータをフェッチして画面にレンダリングしています。

  1. ユーザーが特定のファイル、たとえば.pdfドキュメントを選択すると、戻ってきて同じファイルを選択すると、サービス呼び出しが行われます(これを避けたい)。
  2. DocumentsDirectoryやCacheなどのどこかでクリックしたファイルをキャッシュすることを考えるたびに、ロードに時間がかかるため、その後、ファイルがキャッシュにある場合は、サービスコールを再度呼び出さないで、キャッシュから取り出してください&与える。

これを達成する最善の方法は何ですか、またはアプリのパフォーマンスを最適化するにはどうすればよいですか。あらかじめご了承ください。よろしくお願いいたします。

4

2 に答える 2

0

#2 - コンテンツをキャッシュに保存する - に沿ったあなたの考えは、良い戦略です。シンプルな有効期限ポリシーを使用して任意のデータを保存できる非常に優れたライブラリは、 Enormego のブログ (こちらEGOCache) で最初に発表されました。

あなたのケースでは、単に RESTful URL をキーとして使用し、キャッシュが存在しない場合は取得して保存する前に、その存在をキャッシュで確認します。ドキュメントは少しまばらですが、ヘッダー ファイルは一目瞭然です。幸運を!

于 2012-09-12T08:49:06.207 に答える
0

最初に頭に浮かぶのは、NSURL クラスの既存のカテゴリ/サブクラスを探すことです。例として、コンテンツをローカルで復号化するためにこのカテゴリを使用します: http://aptogo.co.uk/2010/07/protecting-resources/。この方法の利点は、キャッシュがユーザーに対して透過的になることです。NSURL クラスの拡張バージョンを使用してリソースをロードするだけです。

于 2012-09-12T08:52:36.140 に答える