|Issue 98238||Remove MemoryPurger|
|Starred by 7 users||Project Member Reported by firstname.lastname@example.org, Sep 27 2011||Back to list|
People think it should be used in memory pressure cases when it shouldn't. Anyone using this for the above reason should immediately be changed not to use this class.
Sep 27 2011,
Is this a good example of a potential problem with it: https://bugs.webkit.org/show_bug.cgi?id=67031 Could you add any more details?
Sep 27 2011,
The problem is that it is not designed to reduce memory pressure, it is designed to flush literally everything possible in preparation for suspend-to-disk. Accordingly almost everything it purges is something that needs to be recreated immediately in normal use, and so rather than reducing memory pressure it just causes thrashing and poor UX. Someone responding to a low memory notification might need to do a few of the things the purger does, but mostly will want to go in completely different directions, like trying to shut down long-unused tabs. The bug you link is not a reason why I want to remove the memory purger. It _is_ a potential problem, which should be solved by someone who understands the semantics of the font cache.
Oct 6 2011,
CCing pinkerton. Mike, you made an argument in a recent email thread that we should keep this class around, and use it not for low memory notifications but instead for backgrounding the app in low-memory environments (which may make Chrome take longer to be re-foregrounded, but perhaps that tradeoff is fine). If you're committed to that, we could perhaps close this bug, but I'd be looking for someone to take ownership of this code so it's not dead and it's known to be in real, useful use by someone. At that point we might want to modify it to e.g. drop the backing store for the foreground tab (we might already drop the other backing stores, or maybe we don't?).
Nov 2 2012,
Mar 10 2013,
May 16 2013,
May 29 2013,
May 30 2013,
Apr 2 2014,
I killed MemoryPurger a month or so ago on a different bug.
|► Sign in to add a comment|