Come fermare o distruggere una discussione in esecuzione

Ho una class di thread che star in onCreate di un'attività.

  class MyThread extends Thread { void run() { //My code which takes time. } } //-------------------------- To run the thread MyThread mThread = new MyThread(); mThread.start(); 

Su alcuni events esterni ho bisogno di interrompere o distruggere il thread attualmente in esecuzione.
E quindi creo una nuova copia di MyThread e la function di start chiamata sul nuovo thread per eseguirla.

  • L'app di Android ha lanciato il messaggio di errore HLS No 'Access-Control-Allow-Origin'
  • Android - Aggiungere margine per SpannableStringBuilder utilizzando ReplacementSpan
  • La window Android non ridimensiona / si accende quando il softinput viene aperto da WebView
  • Android: "Il thread di chiamata deve essere un thread Looper preparato" quando si utilizza AsyncTask
  • ImageView e posizione impostata
  • come faccio a creare un'adattatore cursore personalizzato per una listview per l'utilizzo con immagini e text?
  • Ma non sono in grado di distruggere / interrompere il thread di esecuzione precedente.
    C'è un'API con la quale possiamo distruggere il thread in esecuzione.

    4 Solutions collect form web for “Come fermare o distruggere una discussione in esecuzione”

    non puoi distruggere … solo l'android interromperà il thread quando necessario .. non si può fermare o distruggerlo .. invece provare a questo modo ..

     class MyThread extends Thread { void run() { while(bool){ //My code which takes time. } } } 

    // ————————– Per eseguire il thread

      MyThread mThread = new MyThread(); mThread.start(); 

    ora quando u vuole fermare il thread … cambia valore bool a falso

     bool=false; 

    ora il tuo codice non funziona … e puoi iniziare un nuovo thread …

    Il metodo Thread.interrupt () è il metodo accettato per arrestare un thread in esecuzione, ma alcuni dettagli di implementazione sono su di te: se il tuo thread sta facendo IO (o qualsiasi altra cosa che possa lanciare InterruptedException), è vostra responsabilità assicurarsi di chiudere tutte le risorse che avete aperto prima di interrompere il thread.

    Questa pagina indica perché alcune funzionalità di thread presenti nelle versioni precedenti di Java sono state deprecate e perché Thread.destroy () non è mai stato effettivamente implementato.

    È ansible utilizzare AsyncTask insted di Thread, perché è conosciuto come filettatura senza dolore in android. Una volta implementata non c'è bisogno di preoccuparsi di Gestione thread.

    AsyncTask è in grado di gestire facilmente ed è molto semplice per la gestione di ui.

    Prova qualcosa di simile.

      class MyThread extends Thread { void run() { //My code which takes time. } } //-------------------------- To run the thread MyThread mThread = new MyThread(); mThread.start(); // PERFORM ALL YOUR OPERATIONS HERE.. mThread.destroy(); 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.