当我尝试完成我的活动时,我得到了泄漏的 Windows 错误。
我查看了很多关于此的类似问题,答案是使用dismiss()
而不是hide()
,或者在调用之前关闭对话框finish()
。
我打电话dismiss()
然后打电话finish()
为什么我会漏水?
这是我ProgressDialog
在扩展 AsyncTask 的类中的代码
public Background(Context c){
context = c; //the activity's context
dialog = new ProgressDialog(c);
}
protected void onPreExecute(){
dialog.show();
}
protected String doInBackground(String... urls) {
//do http request
return "";
}
protected void onPostExecute(String result) {
dialog.dismiss();
if(request == LOGOUT_REQUEST)
finish();
else{
getResults(document);
}
}
它以前工作过,但我相信我的代码是错误的。我开始一项新活动回到旧活动,而不是仅仅调用完成,我认为这是正确的做法。