Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google Volley - when to use Cache.remove and Cache.invalidate

I am integrating Volley into a project and came across the standard

[We have items in the Cache, but want to allow the User to refresh anyway] Scenario

Now Google Volley provides 2 ways to clear an item from the Cache:

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

and

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

I looked into the code and was a bit surprised, that invalidate with fullExpire set to true doesn't behave exactly like a call to remove(key).

Can somebody explain the benefits of using fullExpire over remove()?

like image 463
Makibo Avatar asked Jun 21 '13 08:06

Makibo


1 Answers

Remove means you are removing the actual cached data.

Invalidate means you are just marking the data as invalid. So volley will check with the server whether the data is still valid. The full expire determines whether to use the data before volley has validated it with the server.

More details in the source: https://android.googlesource.com/platform/frameworks/volley/+/master/src/main/java/com/android/volley/Cache.java

like image 74
Mandar Limaye Avatar answered Nov 04 '22 17:11

Mandar Limaye