【问题标题】:Slow initial loadingscreen iOS web app缓慢的初始加载屏幕 iOS Web 应用程序
【发布时间】:2012-11-05 00:35:26
【问题描述】:

我正在使用一个为 webkit 浏览器构建的 web 应用程序,它非常依赖于 javascript。该应用程序在 safari 浏览器中运行相当流畅,在我的 3g 网络上初始加载时间约为 1.5-2 秒(iPhone 4s iOS 6)。但是,当我从主屏幕启动应用程序时,启动画面会停留 5-6 秒,有时甚至更长(有报告说它可以停留大约 10 秒)。

我想知道差异怎么会这么大?可以做些什么来减少这种负载?

感谢任何帮助。

【问题讨论】:

    标签: ios web-applications mobile-safari loading iphone-standalone-web-app


    【解决方案1】:

    从主屏幕启动的网络应用程序比从 Safari 内部启动的应用程序慢,因为主屏幕应用程序没有利用 Safari 的 Nitro Javascript 引擎。

    来源:http://thenextweb.com/apple/2011/03/17/apple-admits-to-slower-performance-in-ios-web-apps/

    是的,这篇文章有点过时了,但我找不到任何信息表明情况不再如此。

    【讨论】:

      【解决方案2】:

      如果您使用加载 WebApp 的 UIWebView,则您使用的 WebKit 版本不支持 JS 的 JIT 优化 (source)

      我会将应用程序分解成更小的部分,并尝试尽快向用户展示一些内容,然后继续在后台加载您的 JS。我知道这不好,但如果你的问题是一个沉重的 JS 应用程序,你就会被非 JIT WebKit 引擎(AKA UIWebView)所困

      看看 WWDC 2012 Session 601: Optimizing Web Content in UIWebViews and Websites on iOS(您需要成为一名注册的 iOS 开发者),并收听这一集Cocoanetics podcast

      不过,我很想知道一些优化。

      【讨论】:

      • 该应用程序不是用 uiwebview 启动的,只是从主屏幕启动的独立模式,在应用商店之外。据我了解,这只是没有其他选项卡且处于全屏模式的 Safari?不过还是谢谢!
      • IIRC,这在 iOS 6 中被更改为不仅仅是 Safari,所以你失去了 JIT-ing。
      猜你喜欢
      • 2012-05-23
      • 2012-11-12
      • 1970-01-01
      • 2012-05-15
      • 1970-01-01
      • 2014-11-19
      • 2014-02-04
      • 2012-10-29
      • 1970-01-01
      相关资源
      最近更新 更多