Wie verhindere ich, dass meine Anwendung Zombies verursacht, nachdem ich eine nicht erfasste Ausnahme behandelt habe?

Ich behandle alle nicht erfassten Ausnahmen, die in meiner Bewerbung auftreten, über:

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

Hier ist meine Launcher-Aktivität zum Implementieren von UncaughtExceptionListener. Ich behandle die Ausnahmebedingung und sende sie einwandfrei an meinen Protokollserver. Meine Anwendung wird dann jedoch nicht beendet. Es läuft nur so lange wie ein Zombie, bis die Home- oder Back-Taste gedrückt wird. Wie kann ich den Prozess beenden, nachdem ich die Ausnahme behandelt habe?

Bearbeiten
Hier ist ein Test und eine Arbeitsaktivität, die eine nicht abgefangene Ausnahme auslöst, die (vom Thread) abgefangen und behandelt werden soll. Der Toast wird nie gepostet und der Prozess wird zum Zombie, sobald die Ausnahme protokolliert wurde.

<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>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage