2016-10-12 8 views
2

Picasaを使用してイメージをダウンロードし、カスタムのOKHttpダウンロードクライアント実装を使用して、約153MBのカスタムキャッシュを作成しました。 Picassoがデバイスに割り当てられているRAMの15%を持つデフォルトメモリキャッシュをオーバーライドするかどうかは疑問だ。PicasaクライアントにカスタムHTTPクライアントキャッシュを設定することの影響

答えて

1

HTTPクライアントのディスクキャッシュを設定しても、Picassoのメモリキャッシュには影響しません。

OkHttp内のディスクキャッシュは、HTTP要求を作成して受け取った生の応答をキャッシュします。これは、レスポンスに戻ってきたHTTPキャッシュヘッダーに従って、ファイルシステム上のLRUに格納します。レスポンスは不透明なバイトとして格納されるため、ダウンロードされているフルサイズの画像となります。

ピカソには、デコードされ変換された画像を保存するメモリキャッシュがあります。これは、HTTPクライアントに要求を要求し、返されたバイト(ディスクキャッシュまたはネットワークから)をBitmapオブジェクトにデコードした結果です。これらのオブジェクトもLRUに格納されますが、メモリに格納されます。

これらの2つのキャッシングレイヤーは、まったく相互作用しません。したがって、カスタムHTTPキャッシュを定義してもメモリキャッシュには何の影響もありません。メモリキャッシュの設定を変更しても、HTTPキャッシュの動作には影響しません。

関連する問題