我使用jQuery mobile构建了一个应用程序。除了在不同Android设备上的一些兼容性问题之外,我在Android系统上遇到了极差的性能。因为即使是来自jquerymobile.com的干净模板在我的galaxy选项卡上工作也很慢,我已经决定删除不必要的jQuery部分会加快它的速度。但有人已经尝试过吗?它甚至可能吗?
答案 0 :(得分:3)
没有jQuery本身就不可能运行jQuery Mobile。 (这是为了那些可能来到这里但不知道的人)
您可以尝试缩小JQ和JQM的大小。 遗憾的是,我不认为从jQuery中删除有很多东西。我会给它anoder思考和编辑;)
但你确定可以“清理”jQuery Mobile,因为它包含小部件。从github获取JQM,阅读“编译”,你会知道该怎么做。
我打算做那件事,所以我很确定它可以做到。
如果您不使用选择框,则可以从清单文件中删除窗口小部件,并且在making
之后,其CSS和代码不应进入构建版本。
因此,如果您不使用任何表单元素,可折叠列表视图等,您可以轻松地将JQM缩小到(我的猜测)大约一半的大小,并且基础知识应该仍然有效。
[编辑]
可能的jQuery缩小会很难,但您可以尝试删除:
进行整理的最佳方法是用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年代后期的跨浏览器支持(甚至不提及当时支持多种屏幕分辨率的有限选项)需要基于用户之类的东西的一堆脚本和重定向代理人检测。