Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS7 webkit crashes frequently - not freeing up memory?

I'm noticing my Phonegap app is having some memory issues on iOS7 that weren't happening on iOS6 .

  1. long iScroll lists with many images
  2. displaying images from the phone's album (9mp) will crash after you view several

For #1, this was never an issue on iOS6, regardless of device.

For #2, I am re-using the same DIV element to display the next picture, so it seems that the previous image is not being cleared.

The techniques mentioned in this post no longer appear to work in iOS7: iPad/iPhone browser crashing when loading images in Javascript

like image 237
Daniel Roizman Avatar asked Oct 21 '22 23:10

Daniel Roizman


1 Answers

The best solution for this problem I found is the following code:

var img = document.getElementById('imageID');
img.parentNode.removeChild(img);
img.src = 'data:image/gif;base64,' + 
      'R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';
setTimeout(function() {
img = null;
}, 60000);

This sets the src attribute to a tiny gif and then waits long enough for garbage collection to happen eventually.

See: http://www.fngtps.com/2010/mobile-safari-image-resource-limit-workaround/

This should work for you. I could verify that the memory is released by using the Xcode instruments. Unfortunately this solution doesn't seem to work for homescreen apps which I am using.

like image 100
Mark Avatar answered Oct 23 '22 18:10

Mark