¿Cómo puedo evitar que mi aplicación se convierta en zombi después de manejar una excepción no detectada?

Estoy manejando cualquier excepción no detectada que ocurra en mi aplicación a través de:

<code>Thread.setDefaultUncaughtExceptionHandler(this);
</code>

donde este es mi lanzador Actividad implementando UncaughtExceptionListener. Manejé la excepción y la envié a mi servidor de registro, pero mi aplicación no termina. Simplemente se ejecuta como un zombi hasta que se presiona el botón de inicio o atrás. ¿Cómo puedo matar el proceso después de manejar la excepción?

Editar
Aquí hay una prueba y actividad de trabajo que lanza una excepción no detectada que debe ser capturada (por Hilo) y manejada. El brindis nunca se publica y el proceso se convierte en zombie una vez que se registra la excepción.

<code>class TestActivity extends Activity implements UncaughtExceptionListener {

    @Override public void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        Thread.setDefaultUncaughtExceptionHandler(this);
        throw new RuntimeException("I'm a destuctive booger.");

        setContentView(R.layout.activity_test);
    }

    @Override public void uncaughtException(Thread thread, Throwable toss) {
        Log.e(TAG, "An uncaught exception has been recieved.", toss);
        Toast.makeText(this, "Big Error", Toast.LENGTH_LONG).show();
    }
}
</code>

Respuestas a la pregunta(2)

Su respuesta a la pregunta