[whatwg] Low Memory Event

Charles Pritchard chuck at jumis.com
Sat Jan 1 12:39:26 PST 2011

On 1/1/2011 12:08 PM, whatwg-request at lists.whatwg.org wrote:
> Date: Fri, 31 Dec 2010 22:01:42 -0600 From: Boris Zbarsky 
> <bzbarsky at MIT.EDU> On 12/31/10 7:35 PM, Charles Pritchard wrote:
>> >  If I were to receive an event, letting me know a low memory condition
>> >  exists
> There are various ways to try to work around this by trying to
> pre-reserve a memory pool, but they're not very reliable.  I suggest
> get deallocated until garbage collection happens.  Garbage collection
> can require memory to perform.  In the case of Gecko, collecting
> So by the time you're out of memory, doing this is too late.  It won't work.
> And significantly greater implementation complexity for browsers if they
> try to make it work.  And it still wouldn't work.
> Then get desktop OS vendors to give applications a way to detect low
> memory reliably.

Implementation details would not be defined by the spec.

Implementation fo the event type would be low-cost, backward compatible, 
and a simple entry to existing spec docs.
"lowmemory" does not need to mean that the OS is experiencing a low 
memory condition.

Here are some example implementations; it's up to the vendor, not the spec.

Tabbed browsing implementation:
Send a lowmemory event to hidden tabs listening (for lowmemory), that 
have not been visible for more than 60 seconds.
(This is a partial example, as it doesn't detail when the tabs would be 
checked for visibility. )

The example requires no OS mem-warnings and would allow use cases such 
as mine, to clean up a little, when lowmemory is fired.

Mobile implementation:
Mobile operating systems have lowmemory warnings, they are important for 
the durability of web apps running in mobile browsers.

"Expensive" implementation:
My mail client and web clients often compete with each other for memory: 
Mozilla apps drop image icons, WebKit crashes tabs.
After a few tabs are crashed, or a few icons are dropped, they could 
certainly send a lowmemory event to remaining listeners.


More information about the whatwg mailing list