2011-10-05 6 views
0

A l'intérieur de la méthode onDestroy, quelle est la bonne façon de déterminer si un objet a été réellement initialisé avant d'essayer de le fermer/l'éteindre/etc.Meilleure façon de fermer et d'arrêter des objets dans onDestroy

Par exemple, ce qui est mieux:

protected void onDestroy() 
{ 
    if(tts != null) 
    { 
     tts.shutdown(); 
    } 

    if(dbWord != null) 
    { 
     dbWord.close(); 
    } 

    super.onDestroy(); 
} 

ou ceci:

protected void onDestroy() 
{ 
    if(tts instanceof null) 
    { 
     tts.shutdown(); 
    } 

    if(dbWord instanceof TextToSpeech) 
    { 
     dbWord.close(); 
    } 

    super.onDestroy(); 
} 

Répondre

2

Utilisez! = Au lieu de instanceOf pour vérifier si une variable a été initialisée. instanceOf effectue une vérification de type supplémentaire dont vous n'avez pas besoin dans ce cas.

1

Utilisez !=, ne pas utiliser instanceOf. Lorsque vous déclarez un objet, c'est déjà une instance d'une classe, même si elle n'est pas initialisée, NULL certainement.
Le premier de vous est la bonne façon de gérer.

Questions connexes