5

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

  1. 包含许多图像的长 iScroll 列表
  2. 显示手机相册 (9mp) 中的图像会在您查看几张图片后崩溃

对于 #1,这在 iOS6 上从来都不是问题,无论设备如何。

对于#2,我重新使用相同的 DIV 元素来显示下一张图片,所以似乎之前的图片没有被清除。

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

4

1 回答 1

3

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

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 工具来验证内存是否已释放。不幸的是,这个解决方案似乎不适用于我正在使用的主屏幕应用程序。

于 2013-11-05T10:21:01.527 回答