Perché Android chiude forzatamente un'app dopo un certo tempo, come quasi un'ora, anche se l'app è lasciata come app in primo piano?
C'è un termine come MAIN THREAD o UI THREAD in Android dove vengono eseguite le operazioni effettive. Il thread UI è quello che è responsabile di tutta la visualizzazione che puoi vedere sul tuo schermo. Quindi, se supponiamo che lo sviluppatore dell'app abbia scritto un codice voluminoso nel UI THREAD che sta consumando molto tempo per l'esecuzione (per esempio, facendo una connessione web per scaricare alcuni dati, o diciamo un algoritmo di forza bruta che coinvolge enormi dati), quindi a meno che il codice venga eseguito i restanti compiti nel thread UI non può essere eseguito come risultato di ciò il sistema può essere in ritardo. Quindi, ciò che Android ha fatto è che se alcuni compiti ingombranti vengono eseguiti sul thread UI, automaticamente chiuderà forzatamente l'applicazione per evitare che il thread UI sia occupato a lungo, in modo che le altre applicazioni non siano ostacolate o il sistema non rimanga indietro.
Questa è senza dubbio una delle migliori caratteristiche implementate in Android per garantire un funzionamento regolare dell'app e quindi costringere gli sviluppatori a eseguire i compiti ingombranti in un thread in background separato.
Ci sono anche poche altre ragioni, ma la maggior parte di ANR's (Application Not Responding) si verifica a causa del thread UI essere occupato. Una delle poche altre ragioni può essere la non assegnazione di risorse adeguate a un'applicazione quando ne ha bisogno, poiché il sistema potrebbe aver assegnato risorse a un'altra applicazione. Questo è il motivo per cui c'è una restrizione sulla quantità di multitasking che si può eseguire.
Cheers!!!
Articoli simili
- È sicuro fermare forzatamente l'app YouTube su Android, o questo causerà problemi?
- Cosa succede se si ricarica Airtel con un secondo piano netto con il primo piano netto ancora attivo?
- Lo scanner di impronte digitali utilizzato nei telefoni cellulari smette di funzionare dopo un certo lasso di tempo o ciclo di utilizzo?
- Perché non c'è quasi nessuna programmazione disponibile in TV per la TV 4k, eppure tutte le reti hanno abbracciato l'HDTV quasi dall'inizio?