我现在使用的是 iOS,但这个问题也适用于 Android。我正在查看 Xcode 中的内存图,我的应用程序在达到 240MB 左右时崩溃,我相信 iOS 正在杀死它,因为它占用了太多内存。
我总是可以通过在应用程序的页面之间导航来让它崩溃。 (这是一个 SPA,客户端 HTML 呈现。)如果我停止导航一分钟,内存将下降到 140MB。
这是 OSX Chrome 中的同一页面:
在这种情况下,停止导航后,内存不会自行减少。相反,图表末尾的悬崖是我按下垃圾收集按钮(将其从 170MB 降低到 60MB)。
如何阻止我的应用程序崩溃?
- 我可以在 Cordova 中调用垃圾回收按钮吗?
- 我能否让 iOS 为我的应用提供特殊的大内存限额?
- 如果用户在一分钟内在页面之间导航 X 次,我可以设置一个超时屏幕,告诉他们下一分钟不能使用该应用程序,因为垃圾收集正在进行 XD
- 在 JS 渲染 HTML 时,有什么方法可以降低斜坡上的内存使用量?
此外,这是带有 HTML 节点的 Chrome 图表——按比例增长,但节点在垃圾回收后保持在同一水平。
最佳答案
您可以尝试使用 WKWebView插件,有时可以减少 Cordova 应用程序的 iOS 内存使用量。
关于javascript - 如何控制 Cordova 中的内存使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30813443/