2013-06-21 6 views
11

を使用するとき、私はプロジェクトにボレーを統合し、標準Googleのボレー - Cache.removeとCache.invalidate

に出くわしています[我々は、キャッシュ内のアイテムを持っていますが、ユーザーはとにかくリフレッシュできるようにしたいです]シナリオ

今、Googleのボレーはキャッシュから項目をクリアするには2つの方法が用意されています

​​

getRequestQueue().getCache().invalidate(key, fullExpire); 

コードを調べたところ、とfullExpireがtrueに設定されていると、ちょっと驚きましたが、remove(key)の呼び出しとまったく同じように動作しません。

誰かがをremove()以上に使用するメリットについて説明できますか?

答えて

15

削除は、実際のキャッシュデータを削除することを意味します。

無効にすると、データを無効とマークするだけであることを意味します。したがって、ボレーは、データがまだ有効かどうかをサーバーに確認します。完全な有効期限は、バレーがサーバで有効性を確認する前にデータを使用するかどうかを決定します。

詳細情報源:https://android.googlesource.com/platform/frameworks/volley/+/master/src/main/java/com/android/volley/Cache.java

+0

このリンクは不壊されています。 –

+0

ありがとうございました..正しいリンクを指すように編集された回答。彼らは、スタジオのコンベンションを使用するようにコード構造を変更しました –

+0

こんにちは、私は、recyclerviewの終わりに達すると、私は古いリストの最後に追加されたサーバーからnewListをフェッチすると、もう一度同じリストを繰り返すので、私はrecyclerViewの最後に呼び出されるキャッシュデータonLoadMoreItems()を削除する必要があります。これをどのように達成できますか? –

関連する問題