Phonegap - cordova在Android和iOS设备上很慢并且很慢

时间:2013-09-16 10:06:12

标签: android ios web cordova zend-studio

我刚开始使用zend studio开始我的第一个PhoneGap项目。但是,在我构建和部署它之后,应用程序非常慢。在Android和iOS上都有。滚动是滞后的,如果我按下按钮,转到下一页的速度很慢。有没有办法改善它的性能?提前致谢

5 个答案:

答案 0 :(得分:4)

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

在三星Galaxy III和IV上,在我们关闭硬件加速之前,画布根本不会呈现任何内容。一旦我们做了帆布绘图表现良好。

您可以使用app java文件中的以下代码行关闭webview的硬件加速:

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

这可能会在4.4之后修复(KitKat使用Chromeview而不是webview)。

答案 1 :(得分:2)

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

像:

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

&安培;请参阅this文档以改进您的phonegap应用。

答案 2 :(得分:1)

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

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

您在网页上执行了哪些操作? 你在使用其他库吗? 我对Zen studio不熟悉,但ypu如何构建你的UI?

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

答案 3 :(得分:1)

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

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

答案 4 :(得分:1)

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