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();
È stato utile?

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 .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top