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';});