Loading ...
Sorry, an error occurred while loading the content.

Dialog create and destroy on same page causes memory leak in IE

Expand Messages
  • jamoville
    Using 2.2 of the UI. I ve created a simple page that onload will create then destroy a dialog 100 times. In IE 6 the memory increases a lot but with Firefox
    Message 1 of 5 , Mar 1, 2007
    • 0 Attachment
      Using 2.2 of the UI.

      I've created a simple page that onload will create then destroy a
      dialog
      100 times. In IE 6 the memory increases a lot but with Firefox there
      is no
      problem. I've attached a file that once loaded will run the test. It
      also
      has two buttons to manually create and destroy the dialogs if
      needed.

      Any reason for this? I assumed that destroy would completely clean
      things
      up for the dialog.


      The following text is the test page:

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
      4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
      <script type="text/javascript"
      src="../../../build/yahoo/yahoo-min.js"></script>
      <script type="text/javascript"
      src="../../../build/event/event-min.js" ></script>
      <script type="text/javascript"
      src="../../../build/dom/dom-min.js" ></script>
      <script type="text/javascript"
      src="../../../build/dragdrop/dragdrop-min.js" ></script>

      <script type="text/javascript"
      src="../../../build/container/container.js"></script>
      <link type="text/css" rel="stylesheet"
      href="../../../build/container/assets/container.css">


      <script>
      var testDialog = null;
      function createDialog() {


      // Instantiate the Dialog
      testDialog = new
      YAHOO.widget.Dialog("dialog1",
      {
      fixedcenter : false,
      close:true,
      visible :
      true,

      constraintoviewport : false
      } );

      testDialog.setHeader("The is
      a header...");
      testDialog.setBody( "This is
      a bogus string representing data in the dialog<BR>"+

      "This is a bogus string representing data in the dialog<BR>"+

      "This is a bogus string representing data in the dialog<BR>"+


      "This is a bogus string representing data in the dialog<BR>"+

      "This is a bogus string representing data in the dialog<BR>"+


      "This is a bogus string representing data in the dialog<BR>"+

      "This is a bogus string representing data in the dialog<BR>"+


      "This is a bogus string representing data in the dialog<BR>"+

      "This is a bogus string representing data in the dialog<BR>"+


      "This is a bogus string representing data in the dialog<BR>"+

      "This is a bogus string representing data in the dialog<BR>"+


      "This is a bogus string representing data in the dialog<BR>"+

      "This is a bogus string representing data in the dialog<BR>"+


      "This is a bogus string representing data in the dialog<BR>"+

      "This is a bogus string representing data in the dialog<BR>"+


      "This is a bogus string representing data in the dialog<BR>"+

      "This is a bogus string representing data in the
      dialog<BR>");

      // Creating a method to
      clean up the dialog when it is hidden
      var hideDialog = function(){
      testDialog.cancel();
      testDialog.destroy();
      testDialog = null;
      }

      // Subscribe to the hide and
      render the dialog

      testDialog.hideEvent.subscribe(hideDialog);
      testDialog.render
      (document.body);
      testDialog.show();


      }

      var killDialog = function(){
      if (testDialog)
      testDialog.hide();
      }

      var runDialogTest = function(){
      for (var i=0; i<100; i++){
      createDialog();
      killDialog();
      }
      }

      YAHOO.util.Event.addListener
      (window, "load", runDialogTest);
      </script>

      </head>
      <body>
      <p>This page is running a test that will create 100
      dialogs. Each dialog is <br>
      created and then destroyed. The same test can
      manually be done by clicking the <br>
      create dialog button and destroy dialog button over
      and over.<BR><br>
      <p>The behavior in IE (version 6 is what I used)
      shows the memory increasing but never<br>
      being released. If the page is refreshed
      the memory is released. Eventually the <br>
      the memory will cause IE to no longer
      respond!! BAD! - Is there something I may simply <br>
      be missing which is needed to clean up the
      memory. Firefox doesn't have this issue.<br><br>

      <button onclick="javascript:createDialog();">Create
      Dialog</button>
      <button onclick="javascript:killDialog();">Destroy
      Dialog</button>
      </body>
      </html>
    • jamoville
      WOW - no response to this. It gives me the feeling that there is a serious problem with the dialog implementation. I hope not - but this issue seems to make
      Message 2 of 5 , Mar 1, 2007
      • 0 Attachment
        WOW - no response to this. It gives me the feeling that there is a
        serious problem with the dialog implementation. I hope not - but
        this issue seems to make the yahoo ui dialog almost if not completely
        useless with IE- Did I indicate that this is a problem with ie 7 and
        with the yahoo 12 version also.


        --- In ydn-javascript@yahoogroups.com, "jamoville"
        <john.hutchinson@...> wrote:
        >
        > Using 2.2 of the UI.
        >
        > I've created a simple page that onload will create then destroy a
        > dialog
        > 100 times. In IE 6 the memory increases a lot but with Firefox
        there
        > is no
        > problem. I've attached a file that once loaded will run the test.
        It
        > also
        > has two buttons to manually create and destroy the dialogs if
        > needed.
        >
        > Any reason for this? I assumed that destroy would completely clean
        > things
        > up for the dialog.
        >
        >
        > The following text is the test page:
        >
        > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
        > 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
        > <html>
        > <head>
        > <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        > <script type="text/javascript"
        > src="../../../build/yahoo/yahoo-min.js"></script>
        > <script type="text/javascript"
        > src="../../../build/event/event-min.js" ></script>
        > <script type="text/javascript"
        > src="../../../build/dom/dom-min.js" ></script>
        > <script type="text/javascript"
        > src="../../../build/dragdrop/dragdrop-min.js" ></script>
        >
        > <script type="text/javascript"
        > src="../../../build/container/container.js"></script>
        > <link type="text/css" rel="stylesheet"
        > href="../../../build/container/assets/container.css">
        >
        >
        > <script>
        > var testDialog = null;
        > function createDialog() {
        >
        >
        > // Instantiate the Dialog
        > testDialog = new
        > YAHOO.widget.Dialog("dialog1",
        > {
        > fixedcenter : false,
        > close:true,
        > visible :
        > true,
        >
        > constraintoviewport : false
        > } );
        >
        > testDialog.setHeader("The is
        > a header...");
        > testDialog.setBody( "This is
        > a bogus string representing data in the dialog<BR>"+
        >
        > "This is a bogus string representing data in the dialog<BR>"+
        >
        > "This is a bogus string representing data in the dialog<BR>"+
        >
        >
        > "This is a bogus string representing data in the dialog<BR>"+
        >
        > "This is a bogus string representing data in the dialog<BR>"+
        >
        >
        > "This is a bogus string representing data in the dialog<BR>"+
        >
        > "This is a bogus string representing data in the dialog<BR>"+
        >
        >
        > "This is a bogus string representing data in the dialog<BR>"+
        >
        > "This is a bogus string representing data in the dialog<BR>"+
        >
        >
        > "This is a bogus string representing data in the dialog<BR>"+
        >
        > "This is a bogus string representing data in the dialog<BR>"+
        >
        >
        > "This is a bogus string representing data in the dialog<BR>"+
        >
        > "This is a bogus string representing data in the dialog<BR>"+
        >
        >
        > "This is a bogus string representing data in the dialog<BR>"+
        >
        > "This is a bogus string representing data in the dialog<BR>"+
        >
        >
        > "This is a bogus string representing data in the dialog<BR>"+
        >
        > "This is a bogus string representing data in the
        > dialog<BR>");
        >
        > // Creating a method to
        > clean up the dialog when it is hidden
        > var hideDialog = function(){
        > testDialog.cancel();
        > testDialog.destroy();
        > testDialog = null;
        > }
        >
        > // Subscribe to the hide and
        > render the dialog
        >
        > testDialog.hideEvent.subscribe(hideDialog);
        > testDialog.render
        > (document.body);
        > testDialog.show();
        >
        >
        > }
        >
        > var killDialog = function(){
        > if (testDialog)
        > testDialog.hide();
        > }
        >
        > var runDialogTest = function(){
        > for (var i=0; i<100; i++){
        > createDialog();
        > killDialog();
        > }
        > }
        >
        > YAHOO.util.Event.addListener
        > (window, "load", runDialogTest);
        > </script>
        >
        > </head>
        > <body>
        > <p>This page is running a test that will create 100
        > dialogs. Each dialog is <br>
        > created and then destroyed. The same test can
        > manually be done by clicking the <br>
        > create dialog button and destroy dialog button over
        > and over.<BR><br>
        > <p>The behavior in IE (version 6 is what I used)
        > shows the memory increasing but never<br>
        > being released. If the page is refreshed
        > the memory is released. Eventually the <br>
        > the memory will cause IE to no longer
        > respond!! BAD! - Is there something I may simply <br>
        > be missing which is needed to clean up the
        > memory. Firefox doesn't have this issue.<br><br>
        >
        > <button onclick="javascript:createDialog();">Create
        > Dialog</button>
        > <button onclick="javascript:killDialog();">Destroy
        > Dialog</button>
        > </body>
        > </html>
        >
      • Todd Kloots
        jamoville - Not the case. This has just been a very busy week for me and I haven t had time to look into it yet. It is on my list of things to do for
        Message 3 of 5 , Mar 2, 2007
        • 0 Attachment
          "jamoville" -

          Not the case. This has just been a very busy week for me and I haven't had time to look into it yet. It is on my list of things to do for today, so I will get back to you.

          - Todd

          ----- Original Message ----
          From: jamoville <john.hutchinson@...>
          To: ydn-javascript@yahoogroups.com
          Sent: Thursday, March 1, 2007 8:00:50 PM
          Subject: [ydn-javascript] Re: Dialog create and destroy on same page causes memory leak in IE

          WOW - no response to this. It gives me the feeling that there is a
          serious problem with the dialog implementation. I hope not - but
          this issue seems to make the yahoo ui dialog almost if not completely
          useless with IE- Did I indicate that this is a problem with ie 7 and
          with the yahoo 12 version also.


          --- In ydn-javascript@yahoogroups.com, "jamoville"
          <john.hutchinson@...> wrote:
          >
          > Using 2.2 of the UI.
          >
          > I've created a simple page that onload will create then destroy a
          > dialog
          > 100 times. In IE 6 the memory increases a lot but with Firefox
          there
          > is no
          > problem. I've attached a file that once loaded will run the test.
          It
          > also
          > has two buttons to manually create and destroy the dialogs if
          > needed.
          >
          > Any reason for this? I assumed that destroy would completely clean
          > things
          > up for the dialog.
          >
          >
          > The following text is the test page:
          >
          > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
          > 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd";>
          > <html>
          > <head>
          > <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
          > <script type="text/javascript"
          > src="../../../build/yahoo/yahoo-min.js"></script>
          > <script type="text/javascript"
          > src="../../../build/event/event-min.js" ></script>
          > <script type="text/javascript"
          > src="../../../build/dom/dom-min.js" ></script>
          > <script type="text/javascript"
          > src="../../../build/dragdrop/dragdrop-min.js" ></script>
          >
          > <script type="text/javascript"
          > src="../../../build/container/container.js"></script>
          > <link type="text/css" rel="stylesheet"
          > href="../../../build/container/assets/container.css">
          >
          >
          > <script>
          > var testDialog = null;
          > function createDialog() {
          >
          >
          > // Instantiate the Dialog
          > testDialog = new
          > YAHOO.widget.Dialog("dialog1",
          > {
          > fixedcenter : false,
          > close:true,
          > visible :
          > true,
          >
          > constraintoviewport : false
          > } );
          >
          > testDialog.setHeader("The is
          > a header...");
          > testDialog.setBody( "This is
          > a bogus string representing data in the dialog<BR>"+
          >
          > "This is a bogus string representing data in the dialog<BR>"+
          >
          > "This is a bogus string representing data in the dialog<BR>"+
          >
          >
          > "This is a bogus string representing data in the dialog<BR>"+
          >
          > "This is a bogus string representing data in the dialog<BR>"+
          >
          >
          > "This is a bogus string representing data in the dialog<BR>"+
          >
          > "This is a bogus string representing data in the dialog<BR>"+
          >
          >
          > "This is a bogus string representing data in the dialog<BR>"+
          >
          > "This is a bogus string representing data in the dialog<BR>"+
          >
          >
          > "This is a bogus string representing data in the dialog<BR>"+
          >
          > "This is a bogus string representing data in the dialog<BR>"+
          >
          >
          > "This is a bogus string representing data in the dialog<BR>"+
          >
          > "This is a bogus string representing data in the dialog<BR>"+
          >
          >
          > "This is a bogus string representing data in the dialog<BR>"+
          >
          > "This is a bogus string representing data in the dialog<BR>"+
          >
          >
          > "This is a bogus string representing data in the dialog<BR>"+
          >
          > "This is a bogus string representing data in the
          > dialog<BR>");
          >
          > // Creating a method to
          > clean up the dialog when it is hidden
          > var hideDialog = function(){
          > testDialog.cancel();
          > testDialog.destroy();
          > testDialog = null;
          > }
          >
          > // Subscribe to the hide and
          > render the dialog
          >
          > testDialog.hideEvent.subscribe(hideDialog);
          > testDialog.render
          > (document.body);
          > testDialog.show();
          >
          >
          > }
          >
          > var killDialog = function(){
          > if (testDialog)
          > testDialog.hide();
          > }
          >
          > var runDialogTest = function(){
          > for (var i=0; i<100; i++){
          > createDialog();
          > killDialog();
          > }
          > }
          >
          > YAHOO.util.Event.addListener
          > (window, "load", runDialogTest);
          > </script>
          >
          > </head>
          > <body>
          > <p>This page is running a test that will create 100
          > dialogs. Each dialog is <br>
          > created and then destroyed. The same test can
          > manually be done by clicking the <br>
          > create dialog button and destroy dialog button over
          > and over.<BR><br>
          > <p>The behavior in IE (version 6 is what I used)
          > shows the memory increasing but never<br>
          > being released. If the page is refreshed
          > the memory is released. Eventually the <br>
          > the memory will cause IE to no longer
          > respond!! BAD! - Is there something I may simply <br>
          > be missing which is needed to clean up the
          > memory. Firefox doesn't have this issue.<br><br>
          >
          > <button onclick="javascript:createDialog();">Create
          > Dialog</button>
          > <button onclick="javascript:killDialog();">Destroy
          > Dialog</button>
          > </body>
          > </html>
          >






          Yahoo! Groups Links
        • Todd Kloots
          The following file demonstrates how to apply a patch that fixes the reported memory leaks for Dialog and Panel in IE:
          Message 4 of 5 , Mar 2, 2007
          • 0 Attachment
            The following file demonstrates how to apply a patch that fixes the reported memory leaks for Dialog and Panel in IE:

            http://yuiblog.com/sandbox/yui/v220/examples/container/example03.php

            - Todd

            ----- Original Message ----
            From: jamoville <john.hutchinson@...>
            To: ydn-javascript@yahoogroups.com
            Sent: Thursday, March 1, 2007 8:00:50 PM
            Subject: [ydn-javascript] Re: Dialog create and destroy on same page causes memory leak in IE

            WOW - no response to this. It gives me the feeling that there is a
            serious problem with the dialog implementation. I hope not - but
            this issue seems to make the yahoo ui dialog almost if not completely
            useless with IE- Did I indicate that this is a problem with ie 7 and
            with the yahoo 12 version also.


            --- In ydn-javascript@yahoogroups.com, "jamoville"
            <john.hutchinson@...> wrote:
            >
            > Using 2.2 of the UI.
            >
            > I've created a simple page that onload will create then destroy a
            > dialog
            > 100 times. In IE 6 the memory increases a lot but with Firefox
            there
            > is no
            > problem. I've attached a file that once loaded will run the test.
            It
            > also
            > has two buttons to manually create and destroy the dialogs if
            > needed.
            >
            > Any reason for this? I assumed that destroy would completely clean
            > things
            > up for the dialog.
            >
            >
            > The following text is the test page:
            >
            > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
            > 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd";>
            > <html>
            > <head>
            > <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
            > <script type="text/javascript"
            > src="../../../build/yahoo/yahoo-min.js"></script>
            > <script type="text/javascript"
            > src="../../../build/event/event-min.js" ></script>
            > <script type="text/javascript"
            > src="../../../build/dom/dom-min.js" ></script>
            > <script type="text/javascript"
            > src="../../../build/dragdrop/dragdrop-min.js" ></script>
            >
            > <script type="text/javascript"
            > src="../../../build/container/container.js"></script>
            > <link type="text/css" rel="stylesheet"
            > href="../../../build/container/assets/container.css">
            >
            >
            > <script>
            > var testDialog = null;
            > function createDialog() {
            >
            >
            > // Instantiate the Dialog
            > testDialog = new
            > YAHOO.widget.Dialog("dialog1",
            > {
            > fixedcenter : false,
            > close:true,
            > visible :
            > true,
            >
            > constraintoviewport : false
            > } );
            >
            > testDialog.setHeader("The is
            > a header...");
            > testDialog.setBody( "This is
            > a bogus string representing data in the dialog<BR>"+
            >
            > "This is a bogus string representing data in the dialog<BR>"+
            >
            > "This is a bogus string representing data in the dialog<BR>"+
            >
            >
            > "This is a bogus string representing data in the dialog<BR>"+
            >
            > "This is a bogus string representing data in the dialog<BR>"+
            >
            >
            > "This is a bogus string representing data in the dialog<BR>"+
            >
            > "This is a bogus string representing data in the dialog<BR>"+
            >
            >
            > "This is a bogus string representing data in the dialog<BR>"+
            >
            > "This is a bogus string representing data in the dialog<BR>"+
            >
            >
            > "This is a bogus string representing data in the dialog<BR>"+
            >
            > "This is a bogus string representing data in the dialog<BR>"+
            >
            >
            > "This is a bogus string representing data in the dialog<BR>"+
            >
            > "This is a bogus string representing data in the dialog<BR>"+
            >
            >
            > "This is a bogus string representing data in the dialog<BR>"+
            >
            > "This is a bogus string representing data in the dialog<BR>"+
            >
            >
            > "This is a bogus string representing data in the dialog<BR>"+
            >
            > "This is a bogus string representing data in the
            > dialog<BR>");
            >
            > // Creating a method to
            > clean up the dialog when it is hidden
            > var hideDialog = function(){
            > testDialog.cancel();
            > testDialog.destroy();
            > testDialog = null;
            > }
            >
            > // Subscribe to the hide and
            > render the dialog
            >
            > testDialog.hideEvent.subscribe(hideDialog);
            > testDialog.render
            > (document.body);
            > testDialog.show();
            >
            >
            > }
            >
            > var killDialog = function(){
            > if (testDialog)
            > testDialog.hide();
            > }
            >
            > var runDialogTest = function(){
            > for (var i=0; i<100; i++){
            > createDialog();
            > killDialog();
            > }
            > }
            >
            > YAHOO.util.Event.addListener
            > (window, "load", runDialogTest);
            > </script>
            >
            > </head>
            > <body>
            > <p>This page is running a test that will create 100
            > dialogs. Each dialog is <br>
            > created and then destroyed. The same test can
            > manually be done by clicking the <br>
            > create dialog button and destroy dialog button over
            > and over.<BR><br>
            > <p>The behavior in IE (version 6 is what I used)
            > shows the memory increasing but never<br>
            > being released. If the page is refreshed
            > the memory is released. Eventually the <br>
            > the memory will cause IE to no longer
            > respond!! BAD! - Is there something I may simply <br>
            > be missing which is needed to clean up the
            > memory. Firefox doesn't have this issue.<br><br>
            >
            > <button onclick="javascript:createDialog();">Create
            > Dialog</button>
            > <button onclick="javascript:killDialog();">Destroy
            > Dialog</button>
            > </body>
            > </html>
            >






            Yahoo! Groups Links
          • jamoville
            Like a charm - The fix works great. Thanks for the help ... page causes memory leak in IE ... completely ... and ... clean
            Message 5 of 5 , Mar 3, 2007
            • 0 Attachment
              Like a charm - The fix works great. Thanks for the help


              --- In ydn-javascript@yahoogroups.com, Todd Kloots <kloots@...> wrote:
              >
              > The following file demonstrates how to apply a patch that fixes the
              reported memory leaks for Dialog and Panel in IE:
              >
              > http://yuiblog.com/sandbox/yui/v220/examples/container/example03.php
              >
              > - Todd
              >
              > ----- Original Message ----
              > From: jamoville <john.hutchinson@...>
              > To: ydn-javascript@yahoogroups.com
              > Sent: Thursday, March 1, 2007 8:00:50 PM
              > Subject: [ydn-javascript] Re: Dialog create and destroy on same
              page causes memory leak in IE
              >
              > WOW - no response to this. It gives me the feeling that there is a
              > serious problem with the dialog implementation. I hope not - but
              > this issue seems to make the yahoo ui dialog almost if not
              completely
              > useless with IE- Did I indicate that this is a problem with ie 7
              and
              > with the yahoo 12 version also.
              >
              >
              > --- In ydn-javascript@yahoogroups.com, "jamoville"
              > <john.hutchinson@> wrote:
              > >
              > > Using 2.2 of the UI.
              > >
              > > I've created a simple page that onload will create then destroy a
              > > dialog
              > > 100 times. In IE 6 the memory increases a lot but with Firefox
              > there
              > > is no
              > > problem. I've attached a file that once loaded will run the test.
              > It
              > > also
              > > has two buttons to manually create and destroy the dialogs if
              > > needed.
              > >
              > > Any reason for this? I assumed that destroy would completely
              clean
              > > things
              > > up for the dialog.
              > >
              > >
              > > The following text is the test page:
              > >
              > > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
              > > 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd";>
              > > <html>
              > > <head>
              > > <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
              > > <script type="text/javascript"
              > > src="../../../build/yahoo/yahoo-min.js"></script>
              > > <script type="text/javascript"
              > > src="../../../build/event/event-min.js" ></script>
              > > <script type="text/javascript"
              > > src="../../../build/dom/dom-min.js" ></script>
              > > <script type="text/javascript"
              > > src="../../../build/dragdrop/dragdrop-min.js" ></script>
              > >
              > > <script type="text/javascript"
              > > src="../../../build/container/container.js"></script>
              > > <link type="text/css" rel="stylesheet"
              > > href="../../../build/container/assets/container.css">
              > >
              > >
              > > <script>
              > > var testDialog = null;
              > > function createDialog() {
              > >
              > >
              > > // Instantiate the Dialog
              > > testDialog = new
              > > YAHOO.widget.Dialog("dialog1",
              > > {
              > > fixedcenter : false,
              > > close:true,
              > > visible :
              > > true,
              > >
              > > constraintoviewport : false
              > > } );
              > >
              > > testDialog.setHeader("The is
              > > a header...");
              > > testDialog.setBody( "This is
              > > a bogus string representing data in the dialog<BR>"+
              > >
              > > "This is a bogus string representing data in the dialog<BR>"+
              > >
              > > "This is a bogus string representing data in the dialog<BR>"+
              > >
              > >
              > > "This is a bogus string representing data in the dialog<BR>"+
              > >
              > > "This is a bogus string representing data in the dialog<BR>"+
              > >
              > >
              > > "This is a bogus string representing data in the dialog<BR>"+
              > >
              > > "This is a bogus string representing data in the dialog<BR>"+
              > >
              > >
              > > "This is a bogus string representing data in the dialog<BR>"+
              > >
              > > "This is a bogus string representing data in the dialog<BR>"+
              > >
              > >
              > > "This is a bogus string representing data in the dialog<BR>"+
              > >
              > > "This is a bogus string representing data in the dialog<BR>"+
              > >
              > >
              > > "This is a bogus string representing data in the dialog<BR>"+
              > >
              > > "This is a bogus string representing data in the dialog<BR>"+
              > >
              > >
              > > "This is a bogus string representing data in the dialog<BR>"+
              > >
              > > "This is a bogus string representing data in the dialog<BR>"+
              > >
              > >
              > > "This is a bogus string representing data in the dialog<BR>"+
              > >
              > > "This is a bogus string representing data in the
              > > dialog<BR>");
              > >
              > > // Creating a method to
              > > clean up the dialog when it is hidden
              > > var hideDialog = function(){
              > > testDialog.cancel();
              > > testDialog.destroy();
              > > testDialog = null;
              > > }
              > >
              > > // Subscribe to the hide and
              > > render the dialog
              > >
              > > testDialog.hideEvent.subscribe(hideDialog);
              > > testDialog.render
              > > (document.body);
              > > testDialog.show();
              > >
              > >
              > > }
              > >
              > > var killDialog = function(){
              > > if (testDialog)
              > > testDialog.hide();
              > > }
              > >
              > > var runDialogTest = function(){
              > > for (var i=0; i<100; i++){
              > > createDialog();
              > > killDialog();
              > > }
              > > }
              > >
              > > YAHOO.util.Event.addListener
              > > (window, "load", runDialogTest);
              > > </script>
              > >
              > > </head>
              > > <body>
              > > <p>This page is running a test that will create 100
              > > dialogs. Each dialog is <br>
              > > created and then destroyed. The same test can
              > > manually be done by clicking the <br>
              > > create dialog button and destroy dialog button over
              > > and over.<BR><br>
              > > <p>The behavior in IE (version 6 is what I used)
              > > shows the memory increasing but never<br>
              > > being released. If the page is refreshed
              > > the memory is released. Eventually the <br>
              > > the memory will cause IE to no longer
              > > respond!! BAD! - Is there something I may simply <br>
              > > be missing which is needed to clean up the
              > > memory. Firefox doesn't have this issue.<br><br>
              > >
              > > <button onclick="javascript:createDialog();">Create
              > > Dialog</button>
              > > <button onclick="javascript:killDialog();">Destroy
              > > Dialog</button>
              > > </body>
              > > </html>
              > >
              >
              >
              >
              >
              >
              >
              > Yahoo! Groups Links
              >
            Your message has been successfully submitted and would be delivered to recipients shortly.