iOS 4.3被指故意降低传统Web应用速度
根据《Programming the Mobile Web》一书的作者 Maximiliano Firtman 的测试,在iOS 4.3的Safari浏览器中运行Web应用程序大概要比直接从主屏幕以全屏模式运行程序快2倍,这一结果和前面三个开发者的所发差不多,他认为这个现象的主要原因是主屏幕的应用程序不能享受到Nitro引擎的优势。
Firtman对The Register表示:“虽然我还不是100%确定,但已经可以99.9999%确定这个差距是因为没有采用Nitro引擎了”。他还提供了一个可以让所有用户非常简单的测试这个差距的 Junspider JavaScript 基准测试程序的版本,大家在自己的iOS设备上测试。当然 The Register 也进行了测试,结果确实是这样的。下面的两张图片就是在iOS 4.3系统下的iPhone上,分别在Safari中和从主屏幕运行的Web应用程序中测试的结果:
在 Safari中,测试结果为4047毫秒
如果从主屏幕以Web应用程序运行的话,测试结果为10747.3毫秒,显然要慢的多
The Register在文章中指出:Apple其实并没有降低主屏幕上Web应用程序的速度,但是他们提升了在Safari浏览器中Web应用程序的运行速度,但给用户造成的感觉以及对苹果的影响其实和苹果故意降低主屏幕Web应用程序运行的速度是一样的。如果这是一个Bug的话,那么苹果应该尽快将其修复。
除了从主屏幕上运行的应用程序可能没有调用到最新的Nitro引擎之外,引起这个现象的原因可能还有缓存和异步模式执行的问题,这一原因也得到了多名开发者的证实。测试的方法很简单,比如用户可以将 Pie Guy 这个游戏以Web应用程序的方式保存到主屏幕上,如果是使用的早期版本的iOS系统的话,即使在离线状态下也可以运行,而在最新的iOS 4.3中就不能运行,这显然是iOS 4.3中主屏幕上的Web应用程序没有用到HTML5的缓存技术。
这名开发者表示移动Safari团队已经表示说这个问题不会修复了,如果真的是这样,那么基本上可见Apple是故意要造成这个差距的。不过如果Apple真的不修复这些问题的话,到时候Google又该纠苹果小辫子了。
更新最新消息,根据9to5mac的报道,苹果公司的发言人 Trudy Miller 已经确认了这一问题,他说:
"嵌入的Web viewer确实没有得到Safari Web性能优化的优势。"
不过苹果并没有给出引起这个问题的原因,也没有说到底会不会解决这个问题,难道苹果真的就想这样算了?如果真是这样,那么基本可以认为苹果公司是故意这么干的了。
文章来源:The Register■<