【发布时间】:2017-06-07 14:33:42
【问题描述】:
我们有一个非常密集的 javascript 网络应用程序 - 谷歌地图上带有自定义标记的大量活动以及页面上可能有很多项目。
iOS 上的 Safari 会间歇性且不可预测地给出“此网页出现问题,因此已重新加载”错误。
大多数情况下,这是在浏览器输入照片并调整大小之后发生的 - 尚未上传。
在研究潜在问题时,我发现了以下链接
- https://discussions.apple.com/thread/6707626?tstart=0
- https://www.quora.com/When-Safari-says-A-problem-occurred-with-this-webpage-so-it-was-reloaded-what-sort-of-problem-has-likely-occurred
真正的问题是我如何确定崩溃的原因?这在桌面上永远不会发生,因此如果它是 iOS 限制、内存问题、调整大小问题或其他原因,则令人难以置信困难。
我已将 iPhone 连接到 Mac 以在手机上运行网络检查器,但这次崩溃只是终止了整个过程而没有记录任何错误,因此那里也没有任何帮助。
此外,没有可靠的方法来重现该问题 - 它只是“有时”发生,对于可能的原因没有一致的特征。
提前致谢。
【问题讨论】:
-
在没有任何上下文的情况下,我可以告诉您检查几件事(如果它是 Web 应用程序):检查您是否超过了一定数量的连接、内存泄漏 (RAM)、内存泄漏导致 GPU 崩溃或转换中的错误。
-
按照华莱士的建议,你可以试试 sentry.io。我认为第一个月是免费的。否则,我建议优化执行时间并在 Chrome 的性能选项卡中检查您的功能并记录配置文件。
-
它可以在其他浏览器上运行吗?如果是,该浏览器和与您的项目相关的 Safari 有什么不同?
-
尝试颠倒您的问题 - 例如,为什么我的代码可以在桌面上运行?你有更多的空间在桌面上分析和跟踪你的代码。您可能不走运并且在浏览器中遇到移动特定的错误,但在桌面上查找资源使用情况和错误行为可能会帮助您确定可能对移动设备上的受限资源造成压力的区域。仅仅因为它似乎在桌面上“工作”,并不意味着你不会像筛子一样泄漏资源;-)
标签: javascript ios mobile mobile-safari crash-reports