PhoneGap + jQuery Mobile =缓慢的响应时间

我知道互联网上有很多这样的问题,但我已经尝试了所有的解决scheme(所有这个问题的答案),他们都没有工作。

当我在电脑的浏览器上运行网站时,一切正常,但是一旦我在手机上部署,响应时间就非常缓慢。

我试过使用FastClick,将hoverDelay设置为0,并绑定我自己的事件,但结果是一样的。

我正在使用Android 4.1。 希望除了我所尝试的任何帮助。

Solutions Collecting From Web of "PhoneGap + jQuery Mobile =缓慢的响应时间"

为了加速JQM,你必须closures任何转换。

这很糟糕,但对于移动设备,即使在iOS上,JQM转换速度也太慢。 我们只能等待几年,直到硬件变得更快,我怀疑。 尽pipeJQM团队试图在1.2中提高性能, 如果没有我的应用程序感觉呆滞,我仍然不能使用转换。

我总是使用这些设置来获得jQuery手机的最佳性能。

$.mobile.defaultPageTransition = 'none' $.mobile.defaultDialogTransition = 'none' $.mobile.buttonMarkup.hoverDelay = 0 

而且,如果您正在编写任何JavaScript, 请勿绑定到任何“单击”事件。 移动设备上的点击速度太慢,因为它在事件触发之前有300毫秒的延迟。

由于您使用的是JQM,因此您可以使用自己的单击事件vclick (其内部使用touchstarttouchend事件)。

如果在这之后它仍然非常慢,那么您可能需要检查点击事件中实际发生的事情 – 可能您的代码没有尽可能优化。

如果您想为移动应用程序解决这个问题,最好使用点击事件而不是点击事件。

阅读点击与点击:由约翰·本德 的无知死亡

此代码片段为我工作

 var ua = navigator.userAgent, event = (ua.match(/iPad|Android/i)) ? "touchstart" : "click"; $("button,a").bind(event, function() { $(this).trigger('click'); });