Phonegap – cordova在Android和iOS设备上是迟缓和缓慢的

我刚刚开始使用Zend Studio的第一个PhoneGap项目。 但是,我构build和部署它后,应用程序是非常缓慢的。 在Android和iOS上。 滚动是滞后的,如果我按下一个button,它很慢转到下一页。 有什么办法来改善它的performance吗? 提前致谢

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

在三星Galaxy III和IV上,canvas在我们closures硬件加速之前不会渲染任何东西。 一旦我们做了canvas绘画performance良好。

您可以在应用程序的Java文件中使用以下代码行closuresWebView的硬件加速:

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

这可能是固定的4.4(KitKat使用Chromeview而不是webview)。

是的,你可以添加fastclick.js文件到你的html文件。

喜欢:

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

参考这个文档来改善你的phonegap应用程序。

有几个原因可能是根本原因。 你应该提供更多的信息来帮助你进一步。

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

你在页面上执行什么样的操作? 你在使用额外的库吗? 我不熟悉禅工作室,但如何build立你的用户界面?

如果您滚动列表或button或链接,滚动可能会缓慢或滞后,并且在每次触摸页面正在testing以对更改为hover状态作出反应,但速度不足以匹配滚动速度。 一旦我有这个问题,禁用hover状态,滚动速度提高了很多。 仔细检查,在此期间。

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

您应该尝试closuresWebView上的硬件加速,但是会推荐单独尝试Pre-KitKat和KitKat。 KitKatWebView基于Chrome,因此具有非常不同的性能特点。

如上所述,使用FastClick删除300ms的点击延迟。 你也可以使用这个代码来加速页面转换:$(document).bind(“mobileinit”,function(){$ .mobile.defaultPageTransition ='none';});