【发布时间】:2014-01-19 06:36:02
【问题描述】:
我有一个非常简单但很长的网站——有很多可以滚动浏览的文本。这是一个文档站点,考虑到内容的性质(很多类似的短条目),我决定一次显示所有内容,以便用户可以从条目滚动到条目或通过侧边栏索引导航。这是我喜欢的常见文档模型(例如Underscore、Backbone 和 LoDash)。
该网站在这里:http://davidtheclark.github.io/scut/。您可以在此处查看预生产代码:https://github.com/davidtheclark/scut/tree/master/docs/dev。
这就是问题所在:对于许多用户来说,这个网站总是让他们的 iOS 浏览器崩溃。不是所有用户(不是我);但对于那些确实经历过崩溃的人来说,它似乎一直在重复发生。 (该网站也可能会导致某些人的 Android 手机崩溃,我不知道:还没有收到任何 Android 用户的消息。)我希望有人可以帮助我诊断并可能解决这个问题。 p>
我遇到的部分困难是我自己无法重现崩溃——不是在我自己的 iOS 设备上,也不是在 Xcode 模拟器上。因为该站点根本不占用大量资源(约 70KB 负载)并且涉及的 JavaScript 很少,并且由于之前尝试解决此问题的一些影响,我猜测问题涉及内存使用 em> -- iOS 浏览器正在崩溃,因为该站点需要太多内存。但我不确定确定这是问题所在,如果是,我不确定如何解决。
我不确定接下来要尝试什么,我希望一些精明的 StackOverflow 高手能给点建议。这个网站在我看来如此简单和基本,是什么使它如此需要内存以致浏览器崩溃?
是不是太长了?是否存在难以渲染的 CSS?是否存在 JavaScript 内存泄漏?
我感兴趣既是为了这个特定网站,也是为了学习在未来预测和预防和/或诊断和修复其他网站上的类似问题。
欢迎查看或参与 [Github 问题](也可以in this Github issue。
附录
以下是有关该网站的一些相关信息:
- HTML 文档相对于其他网站的 HTML 文档大。未缩小的它看起来约为 225KB。 (我注意到 LoDash 文档更大——该网站会导致人们的手机崩溃吗?)
- 提供的 HTML 文档已缩小。
- 提供的 CSS 和 JS 也被缩小了。
- 网站使用Prism.js 进行语法高亮显示。
- 该网站使用 Overthrow 使 2-scrolling-columns 布局适用于平板电脑。
-
<aside id="help-content">已修复并在屏幕外翻译;当您单击 [?] 时,它会滑入,例如任何实用程序的“使用名称”。
iOS 崩溃日志
在我看来,这些可能是来自运行 Chrome 并在网站上崩溃的 iPhone 的崩溃报告的潜在相关行(我不确定它们是否真的相关,因为我还没有开发 iOS 应用程序并且不知道'不知道这些报告的来龙去脉):
Free pages: 5674
Active pages: 117674
Inactive pages: 55121
Speculative pages: 3429
Throttled pages: 0
Purgeable pages: 0
Wired pages: 60906
File-backed pages: 23821
Anonymous pages: 152403
Compressions: 356216
Decompressions: 121241
Compressor Size: 16403
Uncompressed Pages in Compressor: 49228
Largest process: Chrome
[...]
Chrome <2a759438c2253e3baededaa0d13feb56> 166479 166479 200 [per-process-limit] (frontmost) (resume)
【问题讨论】:
标签: ios google-chrome memory memory-leaks crash