在onDestroy中关闭和关闭对象的最佳方法

时间:2011-10-05 06:18:45

标签: android ondestroy

在onDestroy方法中,有什么方法可以确定对象是否实际初始化,然后再尝试关闭/关闭/等等。

例如,哪个更好:

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

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

    super.onDestroy();
}

或者这个:

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

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

    super.onDestroy();
}

2 个答案:

答案 0 :(得分:2)

使用!=而不是instanceOf来检查变量是否已初始化。 instanceOf执行额外的类型检查,在这种情况下你不需要。

答案 1 :(得分:1)

使用!=,请勿使用instanceOf。当你声明一个对象时,它已经是某个类的一个实例,即使它没有被初始化,当然也是NULL。
你的第一个是正确的处理方式。