11

iPhone でNSURLRequestを使用する場合、さまざまなNSURLRequestCachePolicy設定間の実際のパフォーマンスの違いは何ですか? UIWebView ページの表示速度に対するユーザーの認識に対するキャッシュ ポリシーの影響に特に関心があります。

私はデフォルトを使用してきましたNSURLRequestCachePolicyが、おそらく NSURLRequestReloadRevalidatingCacheData がほとんどの場合、特に前のページに戻るときに最適であると思います。

実際の条件下でさまざまなキャッシュ ポリシーを使用した場合、特定の状況で最適であると証明されたポリシーはどれですか? 3 つの異なるタイプの iPhone 接続、wi-fi、3G、および Edge で最高の全体的なパフォーマンスを提供するポリシーはどれですか? キャッシュ ポリシーは、ページの読み込み速度に対するユーザーの認識に大きな影響を与えますか?それとも、UIWebView の表示時間を最適化するために別の方法を検討する必要がありますか?

アップデート:

UIWebView は、指定された NSURLRequest のキャッシュ設定を無視するように見えるというコンセンサスがあるようです。これが最終的な答えであるという完全な自信はありませんが、大規模なテストを行う時間がなければ、それを否定することはできません. したがって、私は最高評価の回答を受け入れます。ただし、問題がプロジェクトにとって重要である場合は、回答を一粒の塩で取ることをお勧めします. -- TechZen.

4

3 に答える 3

3

これが UIWebView の読み込み時間に影響を与えるとは思いません。UIWebView は WebKit に基づいて構築されており、内部では使用されていませんNSURLConnection(はるかに低いレベルにあり、CFNetwork直接使用されています)。

これはおそらく聞きたいことではありませんが、おそらく UIWebView の読み込み時間を短縮する最善の方法は、UIWebView を使用しないことです。Web ページのレンダリングは、かなり CPU を集中的に使用します。実際、MobileSafari は実際にはほとんどが CPU バウンドであり、ネットワーク バウンドではありません。たとえば、スクロール時にチェッカーボード パターンを埋めるのにどれだけ時間がかかるかに注目してください。コンテンツをすばやくすばやくロードするには、Cocoa でネイティブ インターフェイスを作成するのが最適です。

于 2010-02-19T18:45:46.480 に答える
2

UIWebViewロードしていたページをキャッシュするためにプロジェクトに数時間かかりました。ファイルをローカルに保存しないと、アプリケーション側からは不可能であることがわかりました。を完全にUIWebView無視しているようです。NSURLRequestCachePolicy

ヤフー!iPhoneのキャッシュ動作に関する情報があります。

于 2010-02-22T18:23:14.557 に答える
0

WebKit ソースで grep を実行したところ、-[NSURLRequest cachePolicy].

于 2010-02-22T18:17:55.333 に答える