Cosa succede a TimerTask dopo l'esecuzione?
-
07-07-2019 - |
Domanda
Cosa succede alla classe che estende TimerTask dopo l'esecuzione del metodo run? Il valore per myTask è nullo o cosa succede dopo l'esecuzione?
MyTask myTask = new MyTask();
Soluzione
Se lo hai avviato da un metodo che è terminato da allora (e non lo hai fatto riferimento da nessuna parte, ad esempio in una variabile membro di un oggetto che è ancora in vita), verrà pulito dal garbage collector.
Non è necessario impostarlo su null a meno che l'attività non mantenga riferimenti a enormi quantità di memoria.
Se veramente devi de-referenziare l'Attività, dovresti aggiungere una chiamata alla fine del suo metodo run () per scartarla da dove ti stai riferendo.
Altri suggerimenti
Niente. Puoi controllare il codice sorgente del Timer
, per capire cosa sta realmente succedendo quando è programmato un TimerTask
.