【问题标题】:jQuery Mobile android native app performance with XDK build is slow使用 XDK 构建的 jQuery Mobile android 本机应用程序性能很慢
【发布时间】:2014-11-07 10:46:43
【问题描述】:

我正在尝试使用 HTML5 和 jQuery Mobile 的 android 原生应用程序。到目前为止,我有 XDK 1494,但我想尝试一个“更好”的 jQuery IDE,所以我得到了 Dreamweaver CS5.5。我在 Dreamweaver 中开发应用程序,然后在 XDK 中测试和构建它们。问题是当我在 Dreamweaver 和 XDK 模拟器中测试这些应用程序时,它们运行良好 - 良好的响应、速度和预期的结果。但是当我在 XDK 中构建应用程序并将其安装在我的 android 手机上时,它的性能很糟糕——我必须在“触摸”后等待大约 10 秒才能加载新页面(jqueryMobile 1.0/jquery 1.5)。有时,当我触摸一个按钮时,当前页面会在加载下一页之前先轻弹一下,尽管它几乎是立即加载的。 (jqueryMobile 1.4.2/jquery1.10.2)

造成这种性能差异的原因可能是什么,我可以修复它吗?

【问题讨论】:

  • 你用的是哪款安卓手机?安卓版?
  • 我正在使用运行 Android 4.0.3 的 HTC One V
  • 尝试在 xdk 中构建“Crosswalk for android”,它将包括更好的运行时和应用程序
  • 是的,人行横道构建运行得更好。问题是apk要大得多。与 android 版本的 300KB 相比,它是 16MB!这是否意味着较大的项目会从人行横道构建中获得更大的 apk 文件?
  • Crosswalk 构建包含一个替代的 Web 运行时,这就是它工作得更好的原因,因为 Android

标签: android jquery-mobile dreamweaver intel-xdk


【解决方案1】:

无论您使用哪种工具来创建应用,运行时都由目标设备提供,而不是由开发工具提供。当您创建混合 HTML5 应用程序时,您不是在创建已编译的应用程序,而是在创建将由目标设备的嵌入式 Web 运行时解释的 HTML5 包。因此,无论您使用哪个版本的 XDK 或 Dreamweaver 创建您的应用程序,当您将其打包为移动应用程序时,最终结果都会在目标设备上的“嵌入式 Web 运行时”内运行;并且您获得的性能和功能集将根据目标的功能而有所不同(类似于您在不同桌面浏览器中遇到的变化)。

此规则的唯一例外是,如果您为混合 HTML5 应用提供备用网络运行时;这只能在 Android 设备上完成(出于法律和技术原因,不能在 Windows 和 iOS 移动设备上提供备用网络运行时)。对于英特尔 XDK,您可以选择使用适用于 Android 的 Crosswalk 进行构建。此构建选项包括一个替代的 Web 运行时,可以安装在任何 Android 4.0 和更高版本的设备上。有关更多详细信息,请参阅 cmets。包含在您的 APK 中的 Crosswalk 网络运行时在所有设备上都是一致的,您在所有设备上获得相同的功能集和相对性能(使用嵌入式网络运行时时您无法获得)。

当涉及到在典型的 Android 嵌入式 Web 运行时中运行时,jQuery Mobile 实际上是相当“重”的。它更适合在 Android 上的 Chrome 移动浏览器中使用,与典型的嵌入式 Android Web 运行时相比,它可以访问更多内存并具有更多最新功能。因此,Crosswalk 构建的原因是为了克服典型 Android 嵌入式 Web 运行时的这一缺陷。

【讨论】:

  • 感谢 xmnboy 的解释。我已经尝试过 jQuery Mobile 和 App Framework。 JQM 很容易给我想要的感觉和外观,但 App Framework 具有更好的性能并且不那么复杂。现在,我想我会做更多的 App Framework,尽管它的文档仍然需要!
猜你喜欢
  • 2013-07-16
  • 1970-01-01
  • 1970-01-01
  • 2019-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-05
  • 1970-01-01
相关资源
最近更新 更多