Skip to Content
Windows Developer Power Tools
book

Windows Developer Power Tools

by James Avery, Jim Holmes
December 2006
Intermediate to advanced
1312 pages
35h 17m
English
O'Reilly Media, Inc.
Content preview from Windows Developer Power Tools

22.4 Eliminating Memory Leaks in Internet Explorer with Drip

In the past, web pages have typically used small amounts of memory. This has changed with the recent popularity of dynamic web applications, and especially Ajax-enabled ones. Web pages sometimes use lots of memory while they are open. Even worse, if specific care is not taken, they will continue using that memory after the user has left the page.

A memory leak is a programmer term for a situation when memory has been allocated by a program but is never deallocated. It is not always a critical programming error, at least on client-side applications. Nevertheless, it can be annoying, because the amount of available physical memory is limited. Using too much memory will cause the computer to run more slowly, as the operating system starts swapping memory to the hard drive. In some situations, using too much memory will even cause the program to crash. Long-running server-side applications may cause a completely different set of problems, as they can crash other applications!

The Internet Explorer browser has a peculiarity that can cause it to leak memory. When loading a page, it parses the HTML document and creates a tree of DOM objects, all of which are exposed via a set of Component Object Model (COM) interfaces. Those interfaces are used to access and modify the document from JavaScript and other languages.

The COM system that is built into every modern version of the Windows operating system uses reference-count garbage ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Introducing .NET 6: Getting Started with Blazor, MAUI, Windows App SDK, Desktop Development, and Containers

Introducing .NET 6: Getting Started with Blazor, MAUI, Windows App SDK, Desktop Development, and Containers

Nico Vermeir
Visual Basic 2015 Unleashed

Visual Basic 2015 Unleashed

Alessandro Del Sole

Publisher Resources

ISBN: 0596527543Errata PagePurchase book