在AlertDialog的方向更改期间泄露的窗口

时间:2013-09-12 03:01:23

标签: java android memory-leaks android-alertdialog android-dialog

在main活动中实例化的另一个类包含显示alertdialog的此方法。在方向改变时,我仍然会看到窗户泄漏。我还检查了几个问题,他们得到了类似的答案。

主类:

AlertDialog aler;
classB(aler);

B类:

AlertDialog aler2;
classB(AlertDialog a){
this.aler2 = a;
}

private void showWifiDialog(AlertDialog aler2) {

    AlertDialog.Builder builder = new AlertDialog.Builder(this.context)
            .setTitle("Device")
            .setMessage("Press OK")
            .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {

                }
            });

    aler2 = builder.create();

    aler2.show();

}

实验:

    @Override
    public void onPause() {
            if(aler!=null && aler.isShowing())
         {
             aler.cancel();
         }
      super.onPause();
    }

   @Override
    public void onStop(){
        if(aler!= null && aler.isShowing()) {

            aler.dismiss();

          }
        super.onStop();
    }

    @Override
    protected void onDestroy() {
     // TODO Auto-generated method stub

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

1 个答案:

答案 0 :(得分:0)

试试这个,只需将其放入清单并尝试

<activity
            android:name="ActivityWhcichCallingDialog"
            android:configChanges="keyboardHidden|orientation|screenSize"
/>