在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();
}
答案 0 :(得分:2)
使用!=而不是instanceOf来检查变量是否已初始化。 instanceOf执行额外的类型检查,在这种情况下你不需要。
答案 1 :(得分:1)
使用!=
,请勿使用instanceOf
。当你声明一个对象时,它已经是某个类的一个实例,即使它没有被初始化,当然也是NULL。
你的第一个是正确的处理方式。