<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Biggest AJAX problem</title>
	<atom:link href="http://www.stratulat.com/blog/biggest-ajax-problem/feed" rel="self" type="application/rss+xml" />
	<link>http://www.stratulat.com/blog/biggest-ajax-problem</link>
	<description>This is my personal blog</description>
	<pubDate>Tue, 18 Nov 2008 09:56:10 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: Remus Stratulat [Member]</title>
		<link>http://www.stratulat.com/blog/biggest-ajax-problem#comment-15</link>
		<dc:creator>Remus Stratulat [Member]</dc:creator>
		<pubDate>Thu, 27 Jul 2006 07:25:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.stratulat.com/wordpress/?p=39#comment-15</guid>
		<description>@Frank: there are no examples, only good practices.&lt;br /&gt;
&lt;br /&gt;
@Tim: The problem manifests itself more aggressively on the AJAX world as the browser does not clean the page any more. The article pointed by you is about leaks due to browsers bad design. I'm am talking here about leaks caused by the bad design of our AJAX applications. &lt;br /&gt;
&lt;br /&gt;
Use case: the page requests an XML from the server. After the response is received the JS from the page creates a partial DOM tree (let's say an ul) from it and a JS object as a manager. The manager has a reference to the partial DOM tree root [ul]. This [ul] is attached as a child to a div element into the page. The manager is attached as a listener to a button [Sort] on the page that will trigger a sort action on the [ul]'s children, let's say. Clicking on another button [Load] on the page will trigger this course of events again with different data. &lt;br /&gt;
&lt;br /&gt;
This use case will trigger rapid memory consumption by the browser. To prevent this the manager must be detached as a listener of the [Sort] button before a new piece is loaded. Otherwise we will end up creating more and more DOM objects and the GC will not destroy them as we are not "marking" them as unused, they still have references to them from the application.   &lt;br /&gt;

</description>
		<content:encoded><![CDATA[<p>@Frank: there are no examples, only good practices.</p>
<p>@Tim: The problem manifests itself more aggressively on the AJAX world as the browser does not clean the page any more. The article pointed by you is about leaks due to browsers bad design. I&#8217;m am talking here about leaks caused by the bad design of our AJAX applications. </p>
<p>Use case: the page requests an XML from the server. After the response is received the JS from the page creates a partial DOM tree (let&#8217;s say an ul) from it and a JS object as a manager. The manager has a reference to the partial DOM tree root [ul]. This [ul] is attached as a child to a div element into the page. The manager is attached as a listener to a button [Sort] on the page that will trigger a sort action on the [ul]&#8217;s children, let&#8217;s say. Clicking on another button [Load] on the page will trigger this course of events again with different data. </p>
<p>This use case will trigger rapid memory consumption by the browser. To prevent this the manager must be detached as a listener of the [Sort] button before a new piece is loaded. Otherwise we will end up creating more and more DOM objects and the GC will not destroy them as we are not &#8220;marking&#8221; them as unused, they still have references to them from the application.   </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Neil [Visitor]</title>
		<link>http://www.stratulat.com/blog/biggest-ajax-problem#comment-14</link>
		<dc:creator>Neil [Visitor]</dc:creator>
		<pubDate>Thu, 27 Jul 2006 07:24:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.stratulat.com/wordpress/?p=39#comment-14</guid>
		<description>Your post is so good for me , an ajax newcomer.&lt;br /&gt;

&lt;br /&gt;
I need to deeply study this technology.&lt;br /&gt;
&lt;br /&gt;
Thanks a lot.
</description>
		<content:encoded><![CDATA[<p>Your post is so good for me , an ajax newcomer.</p>
<p>I need to deeply study this technology.</p>
<p>Thanks a lot.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim [Visitor]</title>
		<link>http://www.stratulat.com/blog/biggest-ajax-problem#comment-13</link>
		<dc:creator>Tim [Visitor]</dc:creator>
		<pubDate>Wed, 26 Jul 2006 23:32:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.stratulat.com/wordpress/?p=39#comment-13</guid>
		<description>Great post and one to watch but it still worth it for all the benefits gained. I've built (2) enterprise consoles using 100% JS rendered DHTML and haven't seen this problem manifested to the extent the value of zero footprint outweighed the hassles. &lt;br /&gt;
&lt;br /&gt;
More references...&lt;br /&gt;
&lt;br /&gt;
http://javascript.weblogsinc.com/2005/03/07/javascript-memory-leaks/&lt;br /&gt;
&lt;br /&gt;
Thanks, &lt;br /&gt;
&lt;br /&gt;
Tim&lt;br /&gt;

</description>
		<content:encoded><![CDATA[<p>Great post and one to watch but it still worth it for all the benefits gained. I&#8217;ve built (2) enterprise consoles using 100% JS rendered DHTML and haven&#8217;t seen this problem manifested to the extent the value of zero footprint outweighed the hassles. </p>
<p>More references&#8230;</p>
<p><a href="http://javascript.weblogsinc.com/2005/03/07/javascript-memory-leaks/" rel="nofollow">http://javascript.weblogsinc.com/2005/03/07/javascript-memory-leaks/</a></p>
<p>Thanks, </p>
<p>Tim</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Frank [Visitor]</title>
		<link>http://www.stratulat.com/blog/biggest-ajax-problem#comment-12</link>
		<dc:creator>Frank [Visitor]</dc:creator>
		<pubDate>Wed, 26 Jul 2006 14:46:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.stratulat.com/wordpress/?p=39#comment-12</guid>
		<description>Remus,&lt;br /&gt;

&lt;br /&gt;
Nice post... Any advice for fellow JS developers on how to properly manage their memory in Ajax-based applications?  Examples would be great!
</description>
		<content:encoded><![CDATA[<p>Remus,</p>
<p>Nice post&#8230; Any advice for fellow JS developers on how to properly manage their memory in Ajax-based applications?  Examples would be great!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
