android - Activity 泄漏了最初在此处添加的窗口 com.android.internal.policy.impl.PhoneWindow$DecorView@46029dd0

标签 android progressdialog

我收到此错误:泄漏了最初添加到此处的窗口 com.android.internal.policy.impl.PhoneWindow$DecorView@46029dd0 我在模拟器中有网络连接,通过打开网站查看浏览器。

我在 processdialog 行遇到错误。

@SuppressLint("NewApi")
private class TheTask extends AsyncTask<Void, Void, Void> {

    @Override
    protected void onPreExecute() {
        dialog = ProgressDialog.show(Register.this, "",
                "Registering... Please wait...", true);
    }

    @Override
    protected Void doInBackground(Void... params) {

        request = new SoapObject(NAMESPACE, METHOD_NAME);

        name = new PropertyInfo();
        name.setName("Name");
        name.setValue(Name);
        name.setType(String.class);
        request.addProperty(name);

        SoapSerializationEnvelope envp = new SoapSerializationEnvelope(
                SoapEnvelope.VER11);
        envp.dotNet = true;
        envp.setOutputSoapObject(request);
        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
        try {
            androidHttpTransport.call(SOAP_ACTION, envp);
            SoapPrimitive response = (SoapPrimitive) envp.getResponse();
            Response = response.toString();

        } catch (Exception e) {
            textValidation.setText(e.toString());
        }

        return null;
    }

    @Override
    protected void onPostExecute(Void result) {

        if (dialog != null) {
            dialog.dismiss();
            dialog = null;
        }
        }
    }
}

最佳答案

如果您的 Activity 已被销毁但您的对话框仍在显示,则会发生此错误。 因此,您已将这些代码添加到 Activity 的 onDestroy()

@Override
public void onDestroy() {
    super.onDestroy();
    if (dialog != null) {
        dialog.dismiss();
        dialog = null;
    }
}

关于android - Activity 泄漏了最初在此处添加的窗口 com.android.internal.policy.impl.PhoneWindow$DecorView@46029dd0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16768721/

相关文章:

Android API 设置音量级别

android - 使用 Netbeans IDE 开发 android/phonegap 应用程序是一种好方法吗?

android - 进度条在 AsyncTask 中不起作用

android - android中的自定义进度对话框?

android - 如何在android中设置美国格式的电话号码?

android - 为两个 Android 应用程序共享相同的 SQLite 数据库

java - 如何使进度条前进

android - 升级数据库时显示进度对话框

android - android 中不显示进度对话框?

javascript - Android 上的 Quasar 错误:无法加载位于 ip:port 的网页,因为 net::ERR_ADDRESS_UNREACHABLE