如何加速jquery mobile/phonegap?

PiT*_*ber 15 jquery-mobile cordova

我有一个小型的网络应用程序.七页,3.6 KB index.html和855.5 KB总计.我唯一奇怪的是Javascript中的数据库(~500kb),有很多行,如:

$.data(db,'Aarstraße',['34236:1','34246:2','34270:4','34290:6',...]);
Run Code Online (Sandbox Code Playgroud)

我在iPod/iPhone和Android(HTC Magic)上进行了测试,速度非常慢:

启动

  • iPhone:14秒
  • Android:21秒

简单的页面转换(幻灯片)

  • iPhone:3-4秒
  • Android:4-6秒

我怎么能这么快?

我已经删除了盒子阴影.

更新

我删除了数据库,总共剩下444.7KB的页面.现在它在Android上运行得更快.和一部iPhone差不多.它仍然感觉很慢.

更新2

这个问题之后,我切换到最新的jquery移动版本.它将慢速Android设备的页面转换改进为每次转换约2秒.版本1.1将于2月中旬发布.

Sim*_*ald 11

你可以做一些事情:

  1. 更快地获得设备.
  2. 使用YUI Compressor最小化JS代码
  3. 将脚本标记移动到body标记的底部.

正如您已经提到的那样,您已经将数据库移出了可能在启动时占用大部分时间的等式.


Dan*_*lor 5

你用jQuery-mobile做什么?它的性能非常差,你永远不应该在更大的元素上调用它.有关详细信息,请参阅有关jquery-mobile的讨论.它正在进行大量的DOM搜索操作,因为它通过修改DOM树来工作.至于我的测试,它甚至在桌面浏览器上运行得太慢了.

  • 所以解决方案不是使用jQuery,嗯......好吧 (6认同)
  • 使用jQuery很好,jQuery-mobile特别被一些人认为与PhoneGap反应不佳.以下是对原因的讨论:http://apachecordova.blogspot.com/2012/11/who-is-murdering-phonegap-its-jquery.html (2认同)