Vai al contenuto
Offerte

App Android che si chiudono da sole: come capire la vera causa

In questo articolo Indice dei contenuti 3 sezioni

Quando un’app Android si chiude da sola, torna all’improvviso alla schermata iniziale o mostra il messaggio “L’app continua a interrompersi“, il fastidio cresce in fretta, soprattutto con le applicazioni usate ogni giorno. I rimedi suggeriti di solito sono sempre gli stessi, cioè svuotare la cache, reinstallare o riavviare il telefono. A volte funzionano ma non spiegano perché il problema sia comparso. Android offre invece procedure diagnostiche capaci di distinguere un errore di programmazione da un processo chiuso per mancanza di memoria, da un componente di sistema difettoso o da un’app che smette semplicemente di rispondere.

Crash, ANR e processi terminati non sono la stessa cosa

Dall’esterno il risultato sembra identico ma le cause cambiano parecchio. Con un crash il processo termina per un errore non gestito, che può essere un’eccezione Java o Kotlin, un problema nella gestione della memoria oppure un errore nel codice nativo, e spesso compare un avviso. Con un ANR l’app resta aperta ma smette di reagire, perché il thread principale, quello che gestisce anche l’interfaccia grafica, non completa le operazioni nei tempi previsti e il sistema propone di attendere o chiudere. Poi c’è il processo terminato da Android stesso, per esempio quando serve recuperare RAM, senza un vero crash. Esiste infine il caso dell’app che chiude da sola una schermata o torna alla Home senza che il processo si interrompa, e lì l’indagine prende un’altra strada.

Anche il momento della chiusura fornisce indizi utili, pur senza dare un responso definitivo. Un’app che si blocca all’avvio può soffrire di un errore di inizializzazione, di dati danneggiati o di incompatibilità, ma anche dipendere da un servizio esterno non disponibile. Se si interrompe aprendo una pagina precisa il sospetto cade su un bug di quella funzione, su un contenuto problematico o su WebView. Quando si riavvia rientrando dal background è probabile che il processo sia stato terminato per memoria insufficiente. Se più app si chiudono insieme conviene pensare a un componente condiviso o a un aggiornamento di sistema, mentre se tutto torna a posto solo dopo aver cancellato i dati c’entrano probabilmente configurazione locale o database. Il consiglio è ripetere l’operazione che causa il blocco e annotare l’orario, così da ritrovare nei log le voci giuste senza perdersi tra migliaia di messaggi.

Cache, dati e modalità provvisoria

Da Impostazioni, App, scegliendo l’applicazione e aprendo la sezione dello spazio di archiviazione si interviene su cache e dati locali, con nomi dei menu che variano in base a produttore e versione di Android. Svuota cache elimina file temporanei ricreabili e di norma non tocca configurazioni e dati personali. Cancella dati invece reimposta l’app, con il rischio di perdere sessioni, impostazioni e contenuti non sincronizzati, quindi va evitato al primo tentativo e usato solo dopo aver verificato che le informazioni importanti siano salvate.

Meno conosciuta è la modalità provvisoria, che avvia lo smartphone disattivando temporaneamente le app scaricate dall’utente. Su molti modelli basta tenere premuta l’icona Spegni nel menu di spegnimento. Sui Samsung Galaxy quel menu si apre premendo insieme tasto laterale e Volume giù, sui Google Pixel recenti con accensione e Volume su. Alcuni dispositivi accettano anche Volume giù tenuto premuto durante l’animazione di avvio. Se i malfunzionamenti generali spariscono, probabilmente un’applicazione di terze parti interferisce con il sistema, e conviene partire da quelle installate o aggiornate poco prima. Questa modalità però non permette di riprodurre il crash di un’app del Play Store, visto che resta disattivata. Per uscire basta un riavvio, anche se qualche widget potrebbe andare ripristinato a mano.

WebView e aggiornamenti manuali tramite APK

Quando più app senza apparenti legami iniziano a chiudersi dopo un aggiornamento, il responsabile può essere Android System WebView, il componente che mostra contenuti web dentro le applicazioni. A marzo 2021 un aggiornamento difettoso provocò arresti anomali di Gmail e di molte altre app, finché Google non distribuì una versione corretta. In casi simili reinstallare le app una per una serve a poco ed è meglio controllare sul Play Store gli aggiornamenti di WebView, Google Chrome e delle applicazioni coinvolte, anche perché su alcune configurazioni Chrome ha un ruolo fondamentale.

Può anche capitare che lo sviluppatore abbia già corretto il difetto senza che il Play Store lo proponga, dato che Google Play supporta aggiornamenti graduali che raggiungono all’inizio solo una parte dei dispositivi. Si può allora installare a mano il pacchetto APK pubblicato sul sito ufficiale, dopo aver confrontato la versione presente sul telefono con quella disponibile e autorizzato l’installazione da quell’origine. Perché l’aggiornamento vada a buon fine servono lo stesso identificativo dell’applicazione, una firma digitale compatibile e un codice di versione appropriato. Per ragioni di sicurezza è sempre preferibile scaricare il file dal sito dello sviluppatore o da un canale espressamente riconosciuto.

Fonte: TecnoAndroid

Condividi:
144 Condivisioni