我注意到我的Phonegap应用存在iOS7上的一些内存问题,而iOS6上没有发生。

  • 长的iScroll列表包含很多图像
  • 查看多个后,显示手机相册(9mp)图像的
  • 将崩溃

    对于#1,无论使用哪种设备,这在iOS6上都从来不是问题。

    对于#2,我将重复使用相同的DIV元素以显示下一张图片,因此似乎没有清除前一张图片。

    这篇文章中提到的技术似乎不再适用于iOS7:
    iPad/iPhone browser crashing when loading images in Javascript

    最佳答案

    我发现的最佳解决方案是以下代码:

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

    这会将src属性设置为一个微小的gif,然后等待足够长的时间以最终进行垃圾回收。

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

    这应该为您工作。我可以使用Xcode仪器来验证是否释放了内存。不幸的是,此解决方案似乎不适用于我正在使用的主屏幕应用程序。

  • 07-24 09:38
    查看更多