Android PhoneGap+;jQuery Mobile=点击响应时间慢

Android PhoneGap+;jQuery Mobile=点击响应时间慢,android,cordova,jquery-mobile,Android,Cordova,Jquery Mobile,我知道互联网上有很多这样的问题,但我尝试了所有的解决方案(所有的答案),但没有一个有效 当我在电脑浏览器中运行该站点时,一切都很好,但一旦我在手机上部署,响应时间就会非常缓慢 我尝试过使用FastClick,将hoverDelay设置为0,并绑定我自己的事件,但结果是一样的 我使用的是安卓4.1。如果没有我尝试过的帮助,我将不胜感激。要加速JQM,您必须关闭任何转换 这很糟糕,但是JQM转换对于移动设备来说太慢了,即使是在iOS上。我想,我们只需要等几年,直到硬件变得更快。尽管JQM团队试图改进

我知道互联网上有很多这样的问题,但我尝试了所有的解决方案(所有的答案),但没有一个有效

当我在电脑浏览器中运行该站点时,一切都很好,但一旦我在手机上部署,响应时间就会非常缓慢

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


我使用的是安卓4.1。如果没有我尝试过的帮助,我将不胜感激。

要加速JQM,您必须关闭任何转换

这很糟糕,但是JQM转换对于移动设备来说太慢了,即使是在iOS上。我想,我们只需要等几年,直到硬件变得更快。尽管JQM团队试图改进1.2中的性能,但仍然存在这种情况。如果我的应用程序感觉迟钝,我仍然无法使用过渡

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

$.mobile.defaultPageTransition   = 'none'
$.mobile.defaultDialogTransition = 'none'
$.mobile.buttonMarkup.hoverDelay = 0
同样,如果您正在编写任何javascript,不要绑定到任何“单击”事件。在移动设备上单击的速度太慢,因为在触发事件之前,它还有300毫秒的额外延迟

由于您使用的是JQM,因此您可以使用他们自己的click event
vclick
(在引擎盖下使用的是
touchstart
touchend
事件)


如果在那之后它对你来说仍然很慢,你可能必须检查你的点击事件中实际发生了什么-也许你的代码没有得到优化。

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


读一读这个代码片段对我有用吗

var ua = navigator.userAgent, 
event = (ua.match(/iPad|Android/i)) ? "touchstart" : "click";

$("button,a").bind(event, function()
{
    $(this).trigger('click');
});

转换是否与实际启动前发生的事情有关?因为过渡本身在我的手机上工作得完美无缺,所以过渡开始前的延迟让我感到不舒服。此外,我没有任何JS,除了一个定制的加载屏幕,它在加载Cordova和JQM后会执行
更改页面
,基本上就是这样。我将尝试禁用转换并返回反馈。谢谢不,对不起,没有任何转换,仍然是滞后。我甚至尝试过将JQM内核更改为0来替换hoverDelay,但仍然没有任何效果。@EduardLuca我想说,此时您需要确定是否是页面中的内容导致了速度变慢。有时,如果在JQM应用程序中DOM变得太大,它可能会显得很慢。你的页面是什么样子的?哪一位花的时间太长?我想你可能是对的。我在一个文件中有大约5页的全部内容,我使用锚链接,因此可能会导致问题。我突然想到,这不是唯一的解决方案,还有AJAX链接:)我是在看到我的应用在Android浏览器中苦苦挣扎后来到这里的。我禁用了所有动画,在可能的情况下缓存DOM查找,等等。仍然无精打采。我在几个Android设备上单独测试了JQM演示页面,总体来说,它们的速度很慢,所以JQM开箱即用的速度肯定很慢。以下是一个很好的JQM性能调优列表,供参考: