2012-08-22 87 views
2

我正在用jQuery Mobile构建一个Phonegap应用程序,整个应用程序是动态的,它正在从API加载数据。我大概有10页,而且App在Phonegap上运行速度太慢,但是对于原生浏览器来说,它速度很快。我可以做些什么来加速Phonegap或任何地方?Phonegap + jQuery Mobile改进

+0

你正在开发什么平台?这个问题与[this]有什么不同?(http://stackoverflow.com/questions/8208679/android-performance-jquery-phonegap-issue)? – aug

+0

写了一些技巧,以使您在webview应用程序中获得最多:http://stackoverflow.com/questions/13904315/android-webview-late-rendering/14010732#14010732。希望能帮助到你。 –

回答

4

尝试禁用某些会降低速度的CSS。在您的jQuery Mobile的.css文件将其添加到底部:

* { 
text-shadow: none !important; 
-webkit-box-shadow: none !important; 
-webkit-border-radius:0 !important; 
-webkit-border-top-left-radius:0 !important; 
-webkit-border-bottom-left-radius:0 !important; 
-webkit-border-bottom-right-radius:0 !important; 
-webkit-border-top-right-radius:0 !important; 
} 
+0

触摸识别器和页面转换仍然很慢。 –

+0

看,我讨厌倾倒他们努力工作的某些框架,但JQM在旧版Android OS上运行得并不顺利。您应该只使用CSS转换并阅读如何快速点击。默认情况下,它们延迟了300ms。 https://developers.google.com/mobile/articles/fast_buttons –

0

的另一种方式除了禁用CSS是去除或与GC的替代工作。

JavaScript是基于GC的语言。这意味着,它具有不可预测的GC时间,从而导致主线程停止。这使得UI挣扎。在本机实现中,您可以控制使用GC或不使用GC。

这在Android上不会有问题。由于Java上的GC,Android总是有那些挣扎。考虑到这个事实,大多数Android用户并不关心用户体验。但在iOS上,基于HTML5的应用永远不会比竞争对手的原生应用更好。

这个GC时间问题有很多解决方法。如增量式GC,实时GC等。但实际上,没有真正的解决方案。因为原始问题是你没有控制权。