移动Safari崩溃(内存不足)

时间:2014-03-13 15:53:38

标签: google-maps safari crash transform

我遇到了一个问题,即加载site后,iPad和iPhone上的移动设备都会崩溃。 在这里找到的不同建议并没有导致任何解决方案。以下是我尝试过的事情:

  • 删除-webkit-transition elements
  • 删除自定义字体
  • 关闭orientationchange事件
  • 关闭谷歌地图
  • 关闭砌体插件

同时应用所有这些也没有任何帮助 - 当在Investor Relations页面上将方向切换为水平时,Safari会崩溃,尽管此页面上没有太多脚本和数据。另外一些正在调查此问题的人发现表可能会导致这种情况发生。但是,考虑到浏览器甚至在没有表格的页面上崩溃......

所以我在这里没有想法。也许有人有其他建议吗?

1 个答案:

答案 0 :(得分:0)

您还应该看看您对动画和绝对/固定定位的使用:每个CSS属性都会创建一个新的堆叠上下文,这会导致Mobile Safari为元素创建单独的图层。搜索"堆叠上下文"并且您会发现许多功能都会创建新图层:

https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariCSSRef/Articles/StandardCSSProperties.html

图层通常对性能有好处,但它们需要内存。在enable Web Inspector for iOS之后,您可以打开Web Inspector并使用图层边栏查看每个单独的图层及其内存消耗。您的网站目前在iPhone 4S上需要50 + MB,这肯定会进入崩溃的领域。

避免这种情况的最佳方法是不要为不可见的功能创建DOM元素,但也可以通过在类上设置它们来避免昂贵的效果,切换使元素可见,设置visibility: hidden并在JavaScript等中切换