Javascript 移动webkit内存消耗
我们正在为移动设备(Android+iOS)开发HTML5应用程序。但最大的问题是内存消耗——使用的内存量增长非常快,应用程序变得滞后 在HTML(JavaScript)应用程序中解决内存泄漏的最佳实践、提示、工具、解决方案等是什么Javascript 移动webkit内存消耗,javascript,android,ios,webkit,Javascript,Android,Ios,Webkit,我们正在为移动设备(Android+iOS)开发HTML5应用程序。但最大的问题是内存消耗——使用的内存量增长非常快,应用程序变得滞后 在HTML(JavaScript)应用程序中解决内存泄漏的最佳实践、提示、工具、解决方案等是什么 p.S.我们只针对Webkit浏览器最近有一些关于这个主题的非常好的文章。有一些真正令人惊讶的对象创建来源,除非你对此进行了调整,否则不会真正引起你的注意。通常,问题不在于内存使用,而在于收集应用程序缓慢泄漏的内存所需的垃圾收集周期 这篇文章是我最近读过的最好的一篇
p.S.我们只针对Webkit浏览器最近有一些关于这个主题的非常好的文章。有一些真正令人惊讶的对象创建来源,除非你对此进行了调整,否则不会真正引起你的注意。通常,问题不在于内存使用,而在于收集应用程序缓慢泄漏的内存所需的垃圾收集周期 这篇文章是我最近读过的最好的一篇: 至于解决/诊断问题的工具,谷歌Chrome的Speedtracer浮现在脑海中。当然,Chrome的调优并不能保证对所有浏览器都进行调优,但是在Chrome中创建对象的大多数事情对于JS规范来说是通用的,因为它是由所有浏览器实现的 <> P>一个重要的考虑是RAM使用和视频RAM使用是不一样的。一个最佳实践是确定用户界面的哪些部分正在进行硬件加速,并确保它们很小(即一次适应屏幕)。如果你有大量的屏幕硬件加速滚动部分,你会得到GPU撕裂/平铺和拉格滚动。您可以使用iOS模拟器部分检测到这一点。本文简要介绍了这一想法:
最后,JavaScript中有很多非常常见的内存泄漏模式,每个工程师都会不时遇到这些模式。IBM有一个很好的列表。我不能发布两个以上的链接,因为我是n00b,但你可以在谷歌上搜索“常见JavaScript内存泄漏”,这可能是第一个结果。Chrome中其他一些有用的诊断工具是任务管理器、时间线面板和堆分析器 浏览器-铬合金金丝雀(27.0.1447.3金丝雀)
- 任务管理器:转到工具-->任务管理器//右键单击标题选项卡并选中“JavaScript内存”
- 时间线选项卡:工具-->开发人员工具-->时间线//单击记录,进行一些交互,然后停止记录
- 堆探查器:工具-->开发人员工具-->配置文件//单击“获取堆快照”
- 远程调试
- 深度内存分析器