window.URL.revokeObjectURL() doesn't release memory immediately (or not at all)?

With window.URL.revokeObjectURL() you can only get [Blob] or [File] object. You can not force remove from memory.

Note. Browsers are not finalized and they can leak from these facilities. If you implement the animation, you have to understand that at your own risk.


This isn't an answer, but I just want to say that, as far as I can tell, this is still an issue in the latest version of Chrome (35). I made a test page that exposes the problem:

http://ecobyte.com/tmp/chromecrash-1a.html

If you select a large number (say, 600) of high resolution photos on your computer and drop them into the box on that page, it will crash Chrome (tried on Windows 7 and Mac OS X 10.8.5).

If you look at the source you can see that sequence of ops is:

  1. createObjectURL
  2. load the img (don't add to DOM!)
  3. revokeObjectURL to free the ref
  4. Lose the img ref
  5. Repeat all steps for next dropped image

Seems like only a single image should be in memory/referenced at any given moment, but eventually this crashes Chrome.