Io sinceramente non capisco il "problema" della pulizia della cache.
I programmi, qualsiasi siano, sono un insiame di istruzioni GENERICHE che non possono essere sovrascritte...
questo causerebbe il sicuro malfunzionamento del programma.
Esistono proprio per questo motivo i file di configurazione che, esternamente ad un programma, immagazzinano le informazioni e le variabili necessarie a far funzionare il programma stesso.
Al momento dell'avvio di un programma, quest'ultimo controlla l'esistenza di un file di configurazione per popolare le variabili, e se non c'è ne crea uno di default, che verra eventualmente personalizzato con le preferenze dell'utente.
Un semplice esempio: l'app RUBRICA.
La rubrica, magari quella di Google è un app uguale per tutti gli smartphone Android.
Contiene del codice che sa che, ad esempio, deve collegarsi al server di Google col tuo account e allineare la informazioni, sa anche quale sono le preferenze della tua visualizzazione (Nome, Cognome o viceversa, ad esempio) e sa che tu hai scelto di visualizzare la rubrica di Google, anziche quella del telefono o della sim.
Queste INFORMAZIONI NECESSARIE al corretto funzionamento dell'app RUBRICA, NON POSSONO essere scritte dentro l'app... perchè l'app è GENERICA e al suo interno contiene solo "variabili pubbliche" che vengono "popolate" mediante un file esterno di appoggio che abbina NOME VARIABILE alla tua preferenza per quella variabile.
Non solo: pensa alla foto dei contatti!!! Mica se le scarica da Google ogni volta!
Le scarica la prima volta, le ridimensiona rispetto alla grandezza delle icone con la foto e scrive quelli che solitamente si chiamano "Preview Thumbnail" in un file di cache per poterli rileggere velocemente senza rifare tutte le operazioni.
La CACHE E' NIENTE ALTRO CHE QUELLA!
Ogni programma ha bisogno di una CACHE, se no, se le info fossero scritte direttamente nel programma, ci vorrebbe un programma diverso per ogni utente!
Ok, non si tratta solo del solito file testuale "*.inf" ma ci possone essere altri file (*.dat... *.cfg... oppure senza estensione) che in ogni caso servono ad un corretto funzionamento dell'app.
In ogni caso, INTERNET può contribuire a creare altra cache, ma non è detto che senza internet non ci sia bisogno di cache.
Detto questo, CANCELLARE LA CACHE serve quando un programma NON FUNZIONA bene perchè c'è qualche errore nei dati cha ha salvato nella CACHE. Al primo avvio, il programma ricreerà la cache in modo corretto.
Cancellarla se tutto funziona vuol dire farla creare ogni volta, con un notevole dispendio di risorse e di tempo ( e spesso perdendo le preferenze).
Magari se un file di cache è CORROTTO, l'app invece di sovrasciverlo, ne crea uno NUOVO... lasciando un file orfano... in questi casi, una pulizia può liberare un po di spazio... ma E' RARO CHE ACCADA!
Magari l'app gestisce dei LOG, cioè dei file che crescono e contengono le info sull'utilizzo dell'app, utili solo per un monitoraggio del sistema...
ma visto che abbiamo a disposizioni GIGA di sapzio, vedere poche centinaia di Kb di cache, non implica NESSUN PROBLEMA, almeno fino a quando non crescono troppo.
In ogni caso, per app SERIE fatte da programmatori SERI come giudico quelli di Google (ad esempio), sono convinto che abbiano un LIMITE massimo alla dimensione della cache che, una volta raggiunto, ricomincia sovrascrivendo il file più vecchio.
Ad esempio Windows genera dei log per ogni operazione che viene eseguita dal sistema operativo: alcuni log hanno una dimensione massima di 4 mega, altri di 20 mega... CANCELLARLI NON SERVE A NULLA!
Detto questo, ripeto... io sono uno sviluppatore in Windows, non in Android...
ma alla resa dei conti, sempre di programmazione si parla!