Подтвердить что ты не робот

Google Volley - когда использовать Cache.remove и Cache.invalidate

Я интегрирую Volley в проект и наткнулся на стандартный

[У нас есть элементы в кэше, но вы хотите, чтобы пользователь обновлялся в любом случае] Сценарий

Теперь Google Volley предоставляет два способа очистки элемента из кэша:

getRequestQueue().getCache().remove(key);

и

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

Я просмотрел код и был немного удивлен, что invalidate с fullExpire, установленным в true, не ведет себя точно так же, как вызов remove(key).

Может кто-нибудь объяснить преимущества использования fullExpire над remove()?

4b9b3361

Ответ 1

Удалить означает, что вы удаляете фактические кэшированные данные.

Invalidate означает, что вы просто отмечаете данные как недействительные. Таким образом, волейбол будет проверять с сервером, сохраняются ли данные. Полный срок действия определяет, следует ли использовать данные до того, как залп подтвердит его с сервером.

Подробнее в источнике: https://android.googlesource.com/platform/frameworks/volley/+/master/src/main/java/com/android/volley/Cache.java