什么是删除ProgressDialog的最佳方法

Sun*_*hoo 5 android

我已经创建了一个进度对话框

ProgressDialog progressDialog = null; // create instance variable of ProgressDialog
int dialogID = 1;
//to create progress dialog

protected Dialog onCreateDialog(int id) {
progressDialog = new ProgressDialog(context);
progressDialog.setMessage(message);
progressDialog.setIcon(android.R.id.icon);
return progressDialog;
}

// to show progressdialog 
showDialog(dialogID);
Run Code Online (Sandbox Code Playgroud)

要删除对话框,我可以使用以下三种方法中的任何一种

方法1

if(progressDialog != null){
progressDialog.dismiss();
}
Run Code Online (Sandbox Code Playgroud)

方法2

if(progressDialog != null){
    progressDialog.cancel();
    }
Run Code Online (Sandbox Code Playgroud)

方法-3

removeDialog(dialogID);
Run Code Online (Sandbox Code Playgroud)

我发现第二种方法比第一种方法更有效.如果我必须使用多个progressdialog,则更容易使用方法-3.但是什么是摧毁progressdialog的最佳方法又如何?

Can*_*ner 7

cancel();dismiss()根据文档更好:

取消对话框.这与调用基本相同dismiss(),但它也会调用您的DialogInterface.OnCancelListener(如果已注册).

removeDialog() 被弃用,这将是最糟糕的方式.