为什么 AngularJs 在 iPad(与桌面相比)上慢得多
Why is AngularJs a lot slower on iPad (vs desktop)?
每当页面经过实际摘要(只有大约 600 个观察者)时,iPad 上的页面加载速度比桌面版慢约 6 倍(使用 console.time 计算)。
我目前的研究:
- 在
- iPad上触摸按钮时存在故意延迟,这是通过使用快速单击修复的。
- 我不认为这是由于触摸事件,因为用鼠标在触摸屏上尝试并且速度大致相同(使用鼠标与触摸时)。
- 正如您所期望的那样,桌面/ipad似乎都在缓存响应。
- 通过使用开发人员工具,它似乎与摘要中的某些内容有关,我找不到任何 safari 的附加组件(似乎不存在)来分解摘要中的计时。
- 在桌面上的 safari 或任何其他浏览器上都没有问题。多个iPad上存在问题。
- 我听说包括jQuery会减慢它的速度并尝试删除它,但存在同样的问题
我不是在寻找提高性能的一般方法,而是修复/解决这个..错误?我已经没有想法了,请帮忙!:D
编辑:我没有使用ionic,它是基于网络的。
看起来我发现了这个问题,它不是angularjs,而是Javascript。在iPad上,javascript要慢得多(http://ajaxian.com/archives/ipad-javascript-shockingly-slow)。
通过运行Google Octane(https://developers.google.com/octane/)确认。桌面浏览器:29942,iPad Safari浏览器:6795。
这有点糟糕。
编辑:
测试了各种iPad:
安卓(使用Chrome v49(最新)):
- 银河标签S2 9.7:辛烷值得分6901
- 银河标签A 8.0:辛烷值得分2650
- 银河标签A 9.7:辛烷值得分2886
- 三星银河标签:辛烷值得分2622
Chromebook(使用 Chrome v49(最新)):
- 联想Chromebook:辛烷值得分8641
- Ases 2合1触摸屏:辛烷值 评分 7378
- 惠普Chromebook:辛烷值得分 8688
iPad (Safari)
- iPad Pro:辛烷值 分数 20,632
- iPad Air 2:辛烷值 10,601
- iPad Mini 4:辛烷值 分数 9,902
正如Blazemonger指出的那样,这篇文章已经过时了,但重点仍然是正确的,javascript在iPad/Tablet上速度较慢,尤其是在Android上。
我们发现只有大约 300 名观察者,神奇的辛烷值是 10,000(当然还有许多其他变量,但要给某人一个想法)。因此,只要您不需要您的应用程序在所有iPad/平板电脑上都快速运行,您就可以依靠AngularJs(尽管我想真正的问题只是繁重的javascript)。
当你使用 ionic 时,你在 web 中制作了一个预编译的应用程序,所以你多了一个层要处理(iOs-> 浏览器 -> webApp),在 pc 中浏览器只是一个层(浏览器 -> webApp)
WebApp 比本机应用程序慢。
- 从桌面读取python文件时高亮显示代码
- 使用图像数组列表的simplegallary.js显示适合桌面屏幕的图像
- YouTube作为弹出窗口在桌面版本上播放,但不在移动设备上播放
- 如何在plnkr.co上显示桌面上的图像
- 如何使用javascript检测触摸设备浏览器与桌面
- 提供“;onClick"适用于iPad(触摸屏)和桌面用户的默认功能
- 展开移动设备上的折叠菜单,同时在桌面上保持悬停
- 将桌面上的悬停导航栏转换为触摸屏上的可点击导航栏
- 在JavaScript Windows 8应用程序中设置桌面壁纸
- 如何制作链接到网页特定元素的桌面快捷方式
- 创建nw.js+流星桌面应用程序
- 如何使用HTML/CSS/JavaScript开发桌面应用程序
- 移动和桌面视图的角度控制器继承
- 除非填写必需的html表单,否则禁用对驱动器和桌面的访问
- 带有jquery/javascript的桌面风格UI
- 检查并重定向移动或桌面流量
- Javascript setTimeout适用于桌面,而不适用于android
- @媒体查询在桌面浏览器中有效,而在移动浏览器中无效
- 桌面firefox中的偏移值各不相同
- 如何检索从桌面应用程序发送到Rails API的图像