android-ProgressDialog是否应在解除前检查为null?

android-ProgressDialog是否应在解除前检查为null?,android,dialog,null,progress,dismiss,Android,Dialog,Null,Progress,Dismiss,如果我在main上使用ProgressDialog.show(),它调用2个异步任务。AsyncTask A和AsyncTask B可能会以不确定的顺序完成,因此我在这两个AsyncTask中的onPostExecute中都放置了ProgressDialog.Dislose() 问题是,在关闭对话框之前,我是否应该检查两个AsyncTask中的空值 if(progressDialog != null && progressDialog.isShowing()){ progress

如果我在main上使用
ProgressDialog.show()
,它调用2个异步任务。AsyncTask A和AsyncTask B可能会以不确定的顺序完成,因此我在这两个AsyncTask中的onPostExecute中都放置了
ProgressDialog.Dislose()

问题是,在关闭对话框之前,我是否应该检查两个AsyncTask中的空值

if(progressDialog != null && progressDialog.isShowing()){ progressDialog.dismiss(); }
或者只是:

progressDialog.dismiss();

我不知道ProgressDialog.Dismission()是否会为我处理此问题,或者如果我在解除前不检查null值,它将抛出NullPointerException。

java说检查null值总是好的。但是您必须
progressDialog.isShowing()

否则,您可能会在某个时候出现泄漏窗口异常

您不需要检查isShowing(),因为它是内部处理的。
无需显式处理。

ProgressDialog不能将自身设置为null。所以,你可能在某个地方做过。@Tim,我认为.disclease()会破坏这个实例。也许我错了。如果是像你说的那样。多次调用.disclose(),即使它已被解除,也不应导致像NullPointerException或使应用程序崩溃这样的问题?不,多次调用disclose()不应使应用程序崩溃或引发NPE。