jQMobile对jQuery的依赖程度如何?

时间:2011-05-31 08:12:02

标签: jquery performance mobile jquery-mobile

我使用jQuery mobile构建了一个应用程序。除了在不同Android设备上的一些兼容性问题之外,我在Android系统上遇到了极差的性能。因为即使是来自jquerymobile.com的干净模板在我的galaxy选项卡上工作也很慢,我已经决定删除​​不必要的jQuery部分会加快它的速度。但有人已经尝试过吗?它甚至可能吗?

3 个答案:

答案 0 :(得分:3)

没有jQuery本身就不可能运行jQuery Mobile。 (这是为了那些可能来到这里但不知道的人)

您可以尝试缩小JQ和JQM的大小。 遗憾的是,我不认为从jQuery中删除有很多东西。我会给它anoder思考和编辑;)

但你确定可以“清理”jQuery Mobile,因为它包含小部件。从github获取JQM,阅读“编译”,你会知道该怎么做。 我打算做那件事,所以我很确定它可以做到。 如果您不使用选择框,则可以从清单文件中删除窗口小部件,并且在making之后,其CSS和代码不应进入构建版本。 因此,如果您不使用任何表单元素,可折叠列表视图等,您可以轻松地将JQM缩小到(我的猜测)大约一半的大小,并且基础知识应该仍然有效。

[编辑]

可能的jQuery缩小会很难,但您可以尝试删除:

  • 新的延迟ajax处理(如果它没有太深入集成)
  • 动画
  • $。css(可能,我不确定JQM是否使用了它,但它是一大堆代码,你可以不用它处理)。

进行整理的最佳方法是用alert('damnit!')替换你认为不需要的功能的主体,看看你是否真的不需要它;) 为了确保它保持工作和稳定,您应该只替换绑定到名称的函数。尽量不要替换或删除任何返回函数的闭包或函数。

在您的代码经过测试后始终正常工作。弄乱J *

后重复测试

答案 1 :(得分:3)

我认为真正的问题不是关于Javascript。它是由JQuery Mobile添加的HTML和CSS引起的。 JQuery Mobile将div包装器和CSS添加到原始HTML中。结果HTML膨胀了额外的div和CSS会降低性能。

你可以尝试在iphone上没有jQuery和jQMobile javascript的已经渲染的网页。当你快速滚动时它仍然很慢并且闪烁。另一个框架iUI http://code.google.com/p/iui/在长列表上运行得更好,因为html代码和CSS更简单。或者,您可以将它与没有CSS的最简单的长列表进行比较:

  <ul>
        <li> 1 </li>
        <li> 2 </li>
        ...
        <li> 500 </li>
    </ul> 

答案 2 :(得分:1)

我最近用jQuery和jQuery Mobile进行了很多测试,我没有注意到我的ipad2有任何问题。我怀疑这很大程度上取决于你想要支持过时硬件的程度。移动空间正在快速发展,我预测它将像90年代后期的跨浏览器支持(甚至不提及当时支持多种屏幕分辨率的有限选项)需要基于用户之类的东西的一堆脚本和重定向代理人检测。