[whatwg] Low Memory Event
chuck at jumis.com
Sat Jan 1 16:44:15 PST 2011
On 1/1/2011 4:07 PM, Glenn Maynard wrote:
>>> For example, responding to being an idle tab by releasing resources is
>>> the wrong thing to do if there's plenty of memory available. I have 8
>>> GB of memory and Firefox rarely uses more than 512 MB. Don't make me
>> I stated, in the example, that it would need more logic to function
> My point was that the event needs to give enough information to
> *allow* the application's logic to do this correctly.
>> They all have the same related meaning: get rid of unnecessary buffers,
>> serialize and save to disk, if appropriate.
>> If I had a lowmemory event on the desktop, I'd run it through the exact same
>> logic I would on mobile.
> It just seems easy for this to go badly wrong.
> For example, suppose an implementation sends lowmemory when the system
> is low on swap; that is, it's actually running out of virtual memory
> entirely, and allocations are about to start failing or applications
> OOM-killed. So, I'm in Photoshop using a lot of memory, stuff gets
> swapped out, and then when it's nearly out of memory, Firefox notices
> and broadcasts lowmemory.
> What happens then? Your application decides to serialize its data and
> write it to disk, like you say. But your application is already
Serialization mechanisms have to be pretty quick regardless:
otherwise you end up with poor behavior ("freezing gui") onunload.
You're usually moving less than 5 megs of data, when serializing to
as that's what localStorage is limited to in most environments.
Serializing isn't the primary use case: de-referencing unneeded objects
is the primary reason
for the event. Serializing can help, of course.
More information about the whatwg