8

我刚刚开始使用 zend studio 进行我的第一个 PhoneGap 项目。但是,在我构建和部署它之后,应用程序非常慢。在安卓和iOS上都可以。滚动滞后,如果我按下按钮,转到下一页很慢。有什么方法可以提高它的性能吗?提前致谢

4

5 回答 5

4

从版本 4.0.4 开始,有一个已知的“错误”,如果硬件加速打开,它实际上会减慢屏幕重绘事件。这就是滚动缓慢的原因。

在三星 Galaxy III 和 IV 上,在我们关闭硬件加速之前,画布根本不会渲染任何东西。一旦我们做了画布绘图,效果就很好。

您可以使用应用程序 java 文件中的这行代码关闭 webview 的硬件加速:

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

这可能会在 4.4 中得到修复(KitKat 使用 Chromeview 而不是 webview)。

于 2013-12-06T03:17:06.037 回答
2

是的,您可以将fastclick.js文件添加到您的 html 文件中。

喜欢:

<script src="../fastclick.js"></script>

并参考文档以改进您的 phonegap 应用程序。

于 2013-09-16T10:17:05.410 回答
1

在 Android KitKat 中,您可以使用 DevTools 来调试应用程序的性能。这是一个很好的视频来掌握这些工具:https ://developers.google.com/live/shows/840309825

您应该尝试关闭 WebView 上的硬件加速,但建议单独尝试 Pre-KitKat 和 KitKat。KitKatWebView 基于 Chrome,因此具有非常不同的性能特征。

于 2013-12-12T13:12:21.620 回答
1

如前所述,使用 FastClick 消除 300 毫秒的点击延迟。您还可以使用此代码来加速页面转换: $(document).bind("mobileinit", function () { $.mobile.defaultPageTransition = 'none'; });

于 2014-02-11T16:01:07.980 回答
1

几个原因可能是根本原因。您应该提供更多信息以进一步帮助您。

可能的快速和简单的解决方案。A)禁用页面转换并检查效果。

您在页面上执行什么样的操作?您是否使用其他库?我不熟悉 Zen Studio,但是 ypu 是如何构建你的 UI 的?

如果您在列表或按钮或链接上滚动,并且在每次触摸时页面都试图对更改为悬停状态做出反应,但滚动速度不足以匹配滚动速度,则滚动可能会很慢或滞后。一旦我遇到这个问题并禁用悬停状态,滚动速度就会大大提高。在此期间仔细检查。

于 2013-09-17T02:48:48.610 回答