JavaScript的结构/模式,以避免在iOS Safari?

我有一个Web应用程序,其中包含大量生成的JavaScript。与在(更新的)iPad上的UIWebView中运行Web应用程序相比,在桌面版Chrome上运行Web应用程序的内存消耗差异为6倍。

我应该避免什么构造或模式,以获得iOS上的内存消耗与Chrome平等?

生成的JavaScript的表征:

>代码由Haxe生成。
>代码是“面向对象的”,因为它大量使用原型,但在civilized way
>代码大量使用JavaScript对象上的命名索引来实现散列表。
>有很多字符串,但几乎没有任何字符串连接。

没有任何内存泄漏; iOS上过多的内存消耗在构建(固定的)JavaScript对象时立即显示。

由于你的代码在桌面上运行良好,它可能是iOS中的一些基础怪癖。我怀疑你可以使用更面向对象的编程方式来解决。当然这可能会减少内存占用一点,但不是一个因素6。

UIWebView是非常臭名昭着的创建内存泄漏,你可以尝试使用较新的(iOS 8)WKWebView有更好的垃圾收集。

Apple WKWebView Reference

http://stackoverflow.com/questions/32098249/javascript-constructs-patterns-to-avoid-on-ios-safari

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:JavaScript的结构/模式,以避免在iOS Safari?