Est-ce un préfet moyen d'arrêter handlerthread?

J'ai toujours créer deux handler: l'un est wraping sur le thread principal, un autre est wraping sur un seul thread.

Est-ce une meilleure méthode pour démarrer et arrêter ces dans une Activité du cycle de vie?

HandlerThread safeThread = null;
Handler safeHandler = null;
Handler handler = null;


@Override
    public void onStart() {

if (safeThread == null) {
            safeThread = new HandlerThread("safeThread");
            safeThread.start();
            safeHandler = new Handler(safeThread.getLooper());
        } else if (safeThread.getState() == Thread.State.NEW) {
            safeThread.start();
            safeHandler = new Handler(safeThread.getLooper());
        } else if (safeThread.getState() == Thread.State.WAITING) {
            safeHandler = new Handler(safeThread.getLooper());
        } else if (safeThread.getState() == Thread.State.TERMINATED) {
            safeThread = null;
            safeThread = new HandlerThread("safeThread");
            safeThread.start();
            safeHandler = new Handler(safeThread.getLooper());
        }
}




protected void onStop() {
        Log.d("x", "onStop is executed");
        safeHandler = null;
        safeThread.quit();
        safeThread.interrupt();
        safeThread = null;
        super.onStop();
    }
safeThread.interrupt(); est le meilleur moyen d'arrêter un thread
oui , je sais, mais je pensais est ce coffre quand je après l'interruption et la valeur null.
j'ai donné la réponse..une chose que je vous suggère que vous êtes nouveau sur stackoverflow.SI vous voulez apprécier l'aide de quelqu'un, puis de lui donner un vote et si vous pensez que la réponse est meilleur puis le marquer comme réponse..:) bienvenue et bravo

OriginalL'auteur rex | 2012-01-18