gpt4 book ai didi

iphone - 如何加速 JqueryMobile + Phonegap 应用程序

转载 作者:行者123 更新时间:2023-12-03 18:40:35 25 4
gpt4 key购买 nike

我使用 JqueryMobile 和 Phoenagap 开发了一个 iPhone 应用程序。我用代码缩小了所有文件,删除了未使用的文件,但应用程序仍然很慢。问题是。如果我点击按钮,转换将启动 appdrox。 1秒后。我想更快地进行页面转换。

我还禁用了未使用的部分设备(相机等),但它仍然很慢。

有人可以帮我解决这个问题吗?

我在 iPhone 4g 上进行测试。

最佳答案

提高性能的指针

缓存 jQuery 对象

Ex: var header = $('#header');

考虑替代方案:

  • jQuery.each()
  • .show()
  • .hide()
  • .toggle()

更改为 display:none 速度要快得多。也许只需使用 addClass('hidden')removeClass('hidden')

尽量减少慢速 jQuery 方法的使用 O(n^2)

  • 删除()
  • html()
  • 空()

以下方法也很昂贵:

  • 追加()
  • 前置()
  • 在()之前
  • 在()之后

这些操作方法背后的过程如下:清理输入字符串,将字符串转换为 DOM 片段并将其注入(inject)到 DOM 中。

优化选择器:

按表现顺序:

  • id(由于唯一性)
  • 标签
  • 名称、类(两者都需要检查每个 DOM 元素的属性)

具体一点,最好选择家长的 ID:

    $('#test p.description').removeClass('hidden');
instead of
$('.description').removeClass('hidden');

尽可能使用子选择器而不是后代选择器:

    $('div > p').hide(); or $('div').children('p'); 
instead of
$('div p').hide(); or $('div').find('p');

使用上下文查找:

    $('div').find('p');
instead of
$('div', 'p');

使用 .filter() 而不是使用标签选择器:

    $('div.name').filter(':input');
instead of
$('div.name :input');

内存:

var myFunc = function (param) {
if (!myFunc.cache.hasOwnProperty(param)) {
var result = {};
// ... expensive operation ...
myFunc.cache[param] = result;
}
return myFunc.cache[param];
};

// cache storage
myFunc.cache = {};

关于iphone - 如何加速 JqueryMobile + Phonegap 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10977510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com