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()
?
Ответы
Ответ 1
Удалить означает, что вы удаляете фактические кэшированные данные.
Invalidate означает, что вы просто отмечаете данные как недействительные. Таким образом, волейбол будет проверять с сервером, сохраняются ли данные. Полный срок действия определяет, следует ли использовать данные до того, как залп подтвердит его с сервером.
Подробнее в источнике: https://android.googlesource.com/platform/frameworks/volley/+/master/src/main/java/com/android/volley/Cache.java