2013-10-03 33 views
5

我注意到我的Phonegap应用程序在iOS7上遇到了一些iOS6上没有发生的内存问题。iOS7 webkit频繁崩溃 - 没有释放内存?

  1. 长着许多图像
  2. 显示从手机的相册(9大马计划)图像iScroll名单会崩溃后您查看几个

#1,这是从来没有在iOS6的问题,无论设备。

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

在这篇文章中所提到的技术不再出现在iOS7工作: iPad/iPhone browser crashing when loading images in Javascript

+0

我遇到了类似的问题。我现在在iOS 6上运行良好的应用程序现在也在iOS 7.0.3中崩溃,因为图像内存没有正确放置。我正在使用与链接中描述的技术类似的技术。你发现了什么新东西吗?你已经提交了一个bug吗? –

回答

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

+0

7.0.4遇到同样的问题。我们正在使用phonegap +主干+铆钉。我在每个视图的末尾都做了这个,它有一点帮助。试图在铆钉的数据绑定中实现这一点,但这是我知道的最后一个地方可以帮助。 – Krym

+0

我的问题似乎在iOS 7.0.4中得到修复。今天还有一个7.1测试版。 –

+0

你的意思是这不适用于ios 7+? – jujule