如何控制Cordova中的内存使用?

时间:2015-06-12 23:10:24

标签: javascript ios cordova web-applications single-page-application

我现在在iOS上,但问题也适用于Android。我正在看Xcode中的内存图,我的应用程序崩溃大约240MB,我相信iOS正在杀死它,因为它占用了太多的内存。

我可以通过在应用中的页面之间导航来始终让它崩溃。 (这是一个SPA,客户端HTML呈现。)如果我停止导航一分钟,内存将下降到140MB。

以下是OSX Chrome中的相同页面:

enter image description here

在这种情况下,停止导航后,内存不会自行减少。相反,图表末尾的悬崖是我点击垃圾收集按钮(从170MB降到60MB)。

如何阻止我的应用崩溃?

  1. 我可以在Cordova内部调用垃圾收集按钮吗?
  2. 我可以让iOS为我的应用程序提供特殊的大内存容量吗?
  3. 如果用户在一分钟内在页面之间导航X次,我可以设置一个超时屏幕,告诉他们在垃圾收集进入XD时他们不能在下一分钟使用该应用程序
  4. 任何降低内存使用量的方法,因为JS正在渲染HTML?
  5. 此外,这是带有HTML节点的Chrome图表 - 按比例增长但节点在垃圾回收后保持在同一级别。

    enter image description here

1 个答案:

答案 0 :(得分:4)

您可以尝试使用WKWebView插件,这有时可以减少Cordova应用的iOS内存使用量。