为什么AngularJs在iPad上比对桌面慢很多?

时间:2016-03-15 19:12:10

标签: javascript jquery angularjs ipad angular-ui-router

每当页面通过实际摘要(大约只有600名观察者)时,ipad与桌面的页面加载速度大约慢6倍(使用console.time计算)。

我目前的研究:

  • 触摸iPad上的按钮时有意延迟,这是通过使用fastclick修复的。
  • 我不认为它是由于触摸事件在触摸屏上用鼠标试用而且速度大致相同(当使用鼠标与触摸时)。
  • 桌面/ ipad似乎都在按照您的预期缓存响应。
  • 通过使用开发人员工具,它似乎与摘要中的某些东西有关,我找不到任何用于safari的添加(似乎不存在)来打破摘要中的时间。
  • 桌面或其他任何浏览器上的Safari都没有问题。多个iPad上存在问题。
  • 我听说包括jQuery会减慢它并尝试删除它但存在同样的问题

我不是在寻找提高性能的一般方法,而是要修复/解决这个问题。我的想法用完了,请帮忙! :d

编辑: 我不使用离子,它是基于网络的。

2 个答案:

答案 0 :(得分:1)

看起来我发现了这个问题,它不是angularjs而是Javascript。在iPad上,javascript慢得多(http://ajaxian.com/archives/ipad-javascript-shockingly-slow)。

通过运行Google Octane(https://developers.google.com/octane/)确认。桌面Safari浏览器:29942,iPad Safari浏览器:6795。

这有点糟糕。

编辑:

测试了各种iPad:

Android(使用Chrome v49(最新版)):

  • Galaxy tab S2 9.7:辛烷值6901
  • Galaxy Tab A 8.0:辛烷值2650
  • Galaxy Tab A 9.7:辛烷值2886
  • 三星Galaxy Tab:辛烷值2622

Chromebook(使用Chrome v49(最新版)):

  • Lenovo Chromebook:Octane Score 8641
  • Ases 2in1触摸屏:辛烷值7378
  • HP Chromebook:辛烷值8688

Ipad(Safari)

  • Ipad Pro:辛烷值20,632
  • Ipad Air 2:辛烷值10,601
  • Ipad Mini 4:辛烷值9,902

正如Blazemonger所指出的那篇文章已经过时但仍然如此,iPad /平板电脑上的javascript速度较慢,特别是在Android上。

我们发现大约只有300名观察者,神奇的辛烷值是10,000(当然还有许多其他变量,但要给某人一个想法)。因此,只要您不需要您的应用程序在所有iPad /平板电脑上快速运行,您就可以依赖AngularJs(虽然我猜真正的问题只是沉重的javascript)。

答案 1 :(得分:0)

当您使用离子时,您在网络中制作预编译的应用程序,因此您还需要处理一个图层(iOs-> browser - > webApp),在PC中浏览器只是一层(浏览器 - > webApp)

WebApp比本机应用程序慢。