【问题标题】:Is PhoneGap slow or it is a bug?PhoneGap 是慢还是错误?
【发布时间】:2011-11-21 14:43:19
【问题描述】:

在我将演示应用程序编译并部署到我的三星 Galaxy S II 之后,我注意到 PhoneGap 附带的 Sample PhoneGap 应用程序在按下按钮和滚动时响应不是很灵敏。

我还使用 PhoneGap 和 jQuery Mobile 制作了一个小应用程序,有 4 个按钮一切正常,但是当我添加超过 7 个并且我的视口需要滚动时,滚动变得非常慢,我的按钮/小部件越多滚动的速度越慢。

这是我的移动设备特有的错误,还是 PhoneGap 的工作原理: PhoneGap 应用在我的手机上感觉很慢,包括演示?

编辑:

在我的笔记本电脑上由 HTTP 服务器提供服务并在标准 Android 浏览器中启动的同一个 PhoneGap 应用运行非常顺利

【问题讨论】:

    标签: android cordova


    【解决方案1】:

    尝试将您的targetSdkVersion 设置得更高。将我的从"8"(即Android 2.2)更改为"14"(Android 4.0)显着提高了运行较新版本Android的手机上的PhoneGap性能。这很可能会启用某些性能增强功能,例如硬件图形加速。

    有关更多信息,请参阅我的其他答案:https://stackoverflow.com/a/12397768/233370

    【讨论】:

      【解决方案2】:

      由于 PhoneGap 和与之一起使用的框架(JQM、Sencha Touch 等)仅在 WebKit 浏览器中工作,因此如果要呈现的内容太多,它们可能会很慢。

      您的设备等实际上没有错误。只是PhoneGap和框架不太好,如果您想要快速响应等等。您可以在其他设备上尝试您的应用程序,并且可以观察到它们的行为相同。

      【讨论】:

      • 本机应用程序在性能方面总是胜过解释性跨平台的东西,但(可能)会在开发速度方面有所损失
      • 是的,但希望有一天,随着更多支持“网络”的应用程序的发展,这种情况将会改变。
      • 作者担心的是,与原生 Web 浏览器相比,同一个 Web 应用在 PhoneGap 下的性能较差。我也看到了这个。我的应用在 Chrome for Android 下运行良好,但在 PhoneGap 中运行时几乎无法使用。
      • @MattZukowski 我也有同样的问题。
      • 这不能回答问题。
      【解决方案3】:

      我遇到了同样的问题,在更新到 Android 4.0.4 后,我的 Phonegap (Cordova 2.0.0) 和 Sencha Touch 2 - APP 非常慢。

      但是在我插入之后

      super.appView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
      

      APP运行正常,和更新前一样。

      http://developer.android.com/guide/topics/graphics/hardware-accel.html

      【讨论】:

      • 您也可以在应用清单中禁用硬件加速。
      • @JonathanRowny & Walter - 我很困惑。硬件加速不应该让事情变得更快吗?为什么需要为 Android 4+ 禁用它!你能解释一下吗?我也有同样的问题。
      【解决方案4】:

      为了提高性能,您可能不需要 Phonegap。

      如果您需要快速的跨平台样式,但需要快速的原生组件,请尝试使用 nativecss.com 之类的工具。它将样式保留在 CSS 中,但使用原生组件处理其他所有内容 - 因此不会出现 HTML 渲染延迟或笨拙的动画。

      【讨论】:

        猜你喜欢
        • 2013-07-02
        • 2011-05-02
        • 1970-01-01
        • 2010-10-31
        • 2010-12-14
        • 2012-01-29
        • 1970-01-01
        • 1970-01-01
        • 2011-05-17
        相关资源
        最近更新 更多