如何加速jquery mobile/phonegap?

发布于 2024-12-28 16:14:52 字数 1110 浏览 1 评论 0原文

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

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

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

启动

  • iPhone:14 秒
  • Android:21 秒

简单页面过渡(幻灯片)

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

如何才能加快速度?

我已经删除了 盒子阴影。

更新

我删除了数据库,总共留下 444.7KB 页面。现在它在 Android 上运行得更快。与一部 iPhone 差不多。感觉还是很慢。

更新2

这个问题之后,我切换到最新的jquery mobile构建。它将慢速 Android 设备的页面转换改进为每次转换约 2 秒。版本 1.1 的发布时间为 二月中/下旬

I have a small web app. Seven pages, 3.6 KB index.html and 855.5 KB total. The only odd thing i have is a database (~500kb) in Javascript with many lines like:

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

I tested it on iPod/iPhone and Android (HTC Magic) and it is very slow:

Startup

  • iPhone: 14 seconds
  • Android: 21 seconds

Simple page transition (slide)

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

How can I make this fast?

I already removed the box shadow.

Update

I remove the database leaving 444.7KB page total. Now it runs faster on Android. Around the same as one iPhone. It still feels very slow.

Update 2

After this question, I switched to the latest jquery mobile build. It improved the page transitions for slow Android devices to ~2 seconds per transition. Release of Version 1.1 will be mid/late February.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

時窥 2025-01-04 16:14:52

您可以执行以下操作:

  1. 更快地进入设备< /a>.
  2. 使用 YUI Compressor 最小化 JS 代码
  3. 将脚本标签移动到 body 标签的底部。

正如您已经提到的,您已经将数据库移出等式,这可能会在启动时花费大量时间。

There are a few things you can do:

  1. Get to deviceready faster.
  2. Minimize your JS code using YUI Compressor
  3. Move your script tags to the bottom of the body tag.

As you've already mentioned you've moved the database out of the equation which was probably taking a bulk of the time on startup.

最初的梦 2025-01-04 16:14:52

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

What do you do with jQuery-mobile? It's performance is very poor, you should never call it on elements bigger that required. See this discussion about jquery-mobile for details. It is doing very large number of DOM search operations because it works by modifying the DOM tree. As for my tests, it works too slow even on desktop browser.

寻找一个思念的角度 2025-01-04 16:14:52

尝试不使用过渡。即使使用 jQuery 1.1,iPhone 上的页面转换也可能非常闪烁且缓慢。

要全局删除页面转换,只需将以下内容添加到 jqm.glocal.config.js

$(document).bind("mobileinit", function(){
  $.mobile.defaultPageTransition="none"
});

Try without transitions. Even with jQuery 1.1, the page transitions can be really flickery and slow on an iPhone.

To drop page transitions globally, just add the following to jqm.glocal.config.js

$(document).bind("mobileinit", function(){
  $.mobile.defaultPageTransition="none"
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文