問題タブ [nsurlcache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1148 参照

objective-c - NSURLCache はどのキャッシュ アルゴリズムを使用しますか?

Apple のNSURLCacheクラスには適切なドキュメントがありますが、使用するキャッシュ アルゴリズムについては言及されていません。LRU、LFU、またはまったく別のものですか?

私はiPad用に開発しており、を使用しNSURLCacheて写真をキャッシュするためのディスクキャッシング機能を利用したいと考えて[NSURLCache setDiskCapacity]います(デフォルトは0のようです)。この値の上限は?

0 投票する
4 に答える
3771 参照

objective-c - iOS の NSURLConnection が 50KB を超えるオブジェクトをキャッシュしようとしない

Apple のドキュメントには別の方法が示されていますが、NSURLCacheiOS ではディスク (フラッシュ) キャッシュはまったく行われません。サブクラスNSURLCache化して、ディスクを使用するようにフェッチおよびストア操作の動作を変更できますが (実際に行っているようSDURLCacheに)、キャッシュの使用方法と実装方法に関する以下の厳しい制限により、これは期待どおりに機能しません。 :

  • NSURLConnectionstoreCachedResponse:forRequest:約 50KB (正確には >= 52428 バイト) を超えるファイルは必要ありません。NSURLCacheこれにより、キャッシュに到達することさえできないため、サブクラス化 (200KB の画像) は無意味になります。その結果、上のレベルでキャッシングを手動で追加する必要がありますNSURLConnection
  • NSURLCache のビルトインをstoreCachedResponse:forRequest:手動で呼び出した場合でも、応答が約 180KB 未満の場合にのみメモリに格納されます。storeCachedResponse を手動で呼び出してこれをテストし、currentMemoryUsage約 180KB を超えるデータ長の前後で変更がないことを確認しました。そのため、独自の LRU メモリ キャッシュも作成する必要があります。

他の誰かがこれらの問題に気づきましたか? または、私が見逃しているものがありますか?

参考までに、シミュレーターと iPad 2 で iOS 4.3 を実行しています。

0 投票する
0 に答える
456 参照

ios - MPMoviePlayerController : プログレッシブ ビデオを 10 秒のプリロードで再生し、オフラインで使用するためにキャッシュします

URLCACHE を使用してプログレッシブ ムービーを完全にダウンロードし、それを再生できます。

ただし、部分的にダウンロードした後に映画の再生を開始し、引き続きキャッシュ フォルダーに完全にダウンロードしてオフラインで使用したいと考えています。

アイデア/例はありますか?

0 投票する
1 に答える
883 参照

ios - 同じURLをロードした後、cachedResponseForRequestは呼び出されません

によって行われたすべてのURLリクエストをインターセプトするために、サブクラスNSURLCache化して上書きしcachedResponseForRequest、共有キャッシュを独自のキャッシュオブジェクトに変更しましたUIWebView。最初は完全に機能し、URLがに読み込まれるとUIWebView、すべて(css、jpgなど)がインターセプトされます。しかし、同じURL(index.htmlなど)を読み込もうとすると、cachedResponseForRequestメソッドが呼び出されません。その後、別のURLで試してみると、完全に機能します。

リクエストのcachePolicyを可能なすべての値に変更しようとしましたが、何も役に立ちませんでした。

0 投票する
1 に答える
1853 参照

uiwebview - iOS 5でのNSURLCacheのディスク上のストレージ?

しばらくの間、キャッシュされたphp / javascriptコンテンツをUIWebviewに表示しようとしましたが、まだ成功していません。静的コンテンツでは問題なく動作しますが、JavaScriptを使用して動的コンテンツを読み込もうとすると失敗します。

私はいくつかの潜在的な解決策を試しました:(ASIHTTPRequest、AFCache ...)しかし、それらのどれも私にとってはうまくいかないようです。私はいつも何度も何度も壁にぶつかることになります、これを成し遂げる簡単な方法はないようです。

昨日、$(HOME_DIRECTORY)/ Library / Caches /(app_bundle_id)/(スキーマはこちら: https ://gist.github.com/1305158 )にあるCache.dbというファイルを見つけたときに、シミュレーターで少し遊んでいました。

彼らはiOS5でディスク上のキャッシュストレージを取り戻したと思いますが、それを使用する方法が見つかりません。試してみるたびに、使用するキャッシュポリシーに関係なく、必要最低限​​のhtmlが表示されます(JavaScriptファイルやそこから参照される画像は読み込まれません)。ただし、javascriptファイルと画像ファイルはデータベースファイルをクエリするときに表示されるため、適切にキャッシュされています。

この新機能を利用する方法を知っている人はいますか?キャッシュに保存されているjsファイルを参照する方法を知っている人はいますか?

ありがとう

0 投票する
5 に答える
19556 参照

ios - NSURLConnectionキャッシュをクリアする

NSURLConnectionキャッシュをクリアする方法はありますか?

これを使用していくつかの文字列をダウンロードしましたが、サーバーから変更しても同じ文字列を取得し続けます。

0 投票する
1 に答える
916 参照

image - NSURLCache から画像を取得する方法はありますか?

UIWebView が通常の方法でリクエストをロードすると、画像を含めてキャッシュされる可能性が高くなります。カメラロールに保存する画像を選択してもらいたいです。

この時点で、ユーザーが UIWebView 内でタップした画像の URL を検出できます。私の無知な答えは、NSURLConnection を使用して画像をダウンロードすることですが、画像は既にダウンロードされており、おそらく既にキャッシュに保存されているため、それは間違っていると感じています。画像が既にキャッシュされているかどうかを確認し、画像を 2 回ダウンロードする代わりに取得する方法はありますか?

私は次のように NSCachedURLResponse を取得しようとしました:

しかし、「応答」は常にゼロです。それは、キャッシュされないことを意味しますか?


編集:

でリクエストを使用する場合:

有効な応答を返します。ただし、自分で作成したリクエストで同じ URL を使用すると、再び nil が返されて混乱します。

0 投票する
1 に答える
169 参照

ios - UIWebView の使用時に POST が一貫して NSUrlCache を通過する問題

ここに示されている手順に従うことで ( http://www.icab.de/blog/2009/08/18/url-filtering-with-uiwebview-on-the-iphone/ )、UIWebView を使用して URL フィルタリングを行うことができ、 NSURLCache 派生オブジェクト。

私が抱えている問題は、特定のページで cachedResponseForRequest() 関数が POST 要求に対して呼び出されないことです。

すべての POST リクエストをキャッチするためにこのメソッドを機能させた経験がある人はいますか、または POST が時々しかキャッチされない理由はありますか?

ありがとう。

0 投票する
2 に答える
1659 参照

iphone - iPhone のサーバーから UITableView に画像を非同期で表示する

NSURL を使用して UITableView で画像を取得しようとすると
UIImage image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://mysite.com/mobile/abc.jpg]]];
、画像が読み込まれるまでアプリケーションがフリーズします。また、テーブルをスクロールすると、サーバーから画像が再び取得され、しばらくスクロールが動かなくなります。
これは、サーバーから同期的に画像をダウンロードするために発生していることを知っています。
サーバーから画像を非同期にダウンロードしてローカルまたはキャッシュに保存できるようにする解決策はありますか

ありがとう

0 投票する
1 に答える
1229 参照

ios4 - デバイスがオフラインのときに NSURLConnection キャッシュを使用する

NSOperation サブクラスでは、次のコードを使用してサーバーから xml ファイルをダウンロードし、後で解析しています。

2 回目に同じ要求を行うと、サーバーは HTTP 304 を返し、キャッシュされた応答データは に保存されreceivedDataます。ここまでは順調ですね。

私の質問:デバイスがオフラインのときに、これと同じキャッシュされた応答を取得することは可能ですか?