finition en activité à partir de la vue personnalisée à l'aide de contexte

Voici mon code:

    private void makeDialog2() {
    AlertDialog.Builder about = new AlertDialog.Builder(getContext());
    about.setTitle("You Won!");

    about.setPositiveButton("Play Again",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface arg0, int arg1) {
                    Intent playIntent2 = new Intent(getContext(),
                            PracticePlayActivity.class);
                    playIntent2.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
                    getContext().startActivity(playIntent2);
                    ((Activity) getContext()).finish();
                }
            });

    about.setNegativeButton("Exit", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface arg1, int arg2) {
            Intent playIntent = new Intent(getContext(),
                    PlayChooserActivity.class);
            playIntent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
            getContext().startActivity(playIntent);
            ((Activity) getContext()).finish();
        }
    });

    about.show();
}

Ce code est invité lorsque l'utilisateur perd le jeu et veut réessayer. Cependant lorsque je clique sur réessayer plus de 4 fois l'application se bloque. Je suis soupçonner une fuite de mémoire. Après quelques tests dans le logcat j'ai réussi à trouver que l'activité est toujours en cours après une nouvelle tentative.

Mon plan est de s'attaquer à ce problème avec deux choses. Recycler mon un drawable et la fin de la première activité dans son ensemble. Cependant, la première activité n'est pas la fermeture, même après que je l'appel terminer. Toute aide? (À l'aide de getContext() dans d'autres parties de mon code a bien fonctionné jusqu'ici).

EDIT: En mettant fin à l'activité n'est il détruire les variables automatiquement? ou dois-je encore besoin d'effacer les images à partir de l'Android de la mémoire? Des idées comment je peux faire cela?

OriginalL'auteur user1012016 | 2011-12-21