我正在使用一个为 webkit 浏览器构建的 web 应用程序,它非常依赖于 javascript。该应用程序在 safari 浏览器中运行相当流畅,在我的 3g 网络上初始加载时间约为 1.5-2 秒(iPhone 4s iOS 6)。但是,当我从主屏幕启动应用程序时,启动画面会停留 5-6 秒,有时甚至更长(有报告说它可以停留大约 10 秒)。
我想知道差异怎么会这么大?可以做些什么来减少这种负载?
任何帮助表示赞赏。
我正在使用一个为 webkit 浏览器构建的 web 应用程序,它非常依赖于 javascript。该应用程序在 safari 浏览器中运行相当流畅,在我的 3g 网络上初始加载时间约为 1.5-2 秒(iPhone 4s iOS 6)。但是,当我从主屏幕启动应用程序时,启动画面会停留 5-6 秒,有时甚至更长(有报告说它可以停留大约 10 秒)。
我想知道差异怎么会这么大?可以做些什么来减少这种负载?
任何帮助表示赞赏。
如果您使用加载 WebApp 的 UIWebView,则您使用的 WebKit 版本不支持 JS 的 JIT 优化(源)
我会将应用程序分解成更小的部分,并尝试尽快向用户展示一些内容,然后继续在后台加载您的 JS。我知道这不好,但如果你的问题是一个沉重的 JS 应用程序,你就会被非 JIT WebKit 引擎(AKA UIWebView)卡住
看看 WWDC 2012 Session 601:Optimizing Web Content in UIWebViews and Websites on iOS(你需要成为一名注册的 iOS 开发者),并收听Cocoanetics 播客的这一集
不过,很想知道一些优化。
从主屏幕启动的 Web 应用程序比从 Safari 内部启动的应用程序慢,因为主屏幕应用程序没有利用 Safari 的 Nitro Javascript 引擎。
资料来源:http ://thenextweb.com/apple/2011/03/17/apple-admits-to-slower-performance-in-ios-web-apps/
是的,这篇文章有点过时了,但我找不到任何信息表明情况不再如此。