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