gpt4 book ai didi

iphone - 为什么 PhoneGap 看起来比 Titanium 快?

转载 作者:可可西里 更新时间:2023-11-01 06:19:52 26 4
gpt4 key购买 nike

我正在尝试衡量一些跨平台解决方案的执行性能,其中包括:Titanium 和 PhoneGap。

下面是我的性能测试仪的 Titanium 版本示例,它非常简单,但我只是想感受一下我的代码执行速度有多快:

var looplength;
var start1;
var start2;
var end1;
var end2;
var duration1;
var duration2;
var diff;
var diffpiter;
var power;
var info;

for (power = 0; power < 24; power++) {
looplength = Math.pow(2, power);

start1 = new Date().getTime();
for (iterator = 0; iterator < looplength; iterator++) {a=iterator;b=iterator;}
end1 = new Date().getTime();

start2 = new Date().getTime();
for (iterator = 0; iterator < looplength; iterator++) {a=iterator;}
end2 = new Date().getTime();

duration1 = end1 - start1;
duration2 = end2 - start2;
diff = duration1 - duration2;
diffpiter = diff / looplength;

info={title:'2^' + power + ' ' + diffpiter};
tableView.appendRow(Ti.UI.createTableViewRow(info),{animated:true});
}

除了最后两行被替换之外,PhoneGap 版本是相同的

document.write('2^' + power + ' ' + diffpiter + '<br />');

两者均在 iPhone 4S 上执行。我已经多次运行测试,以消除错误。

天哪,Titanium 版本每次迭代测量 ~0.0009 毫秒,而 PhoneGap 版本每次迭代测量 ~0.0002 毫秒?

Titanium 应该编译我的 javascript 代码,所以我希望它更快。然而,在这种情况下,它至少慢了 4 倍!我不是性能测试方面的专家,但我设计的测试至少应该是远程准确的......

感谢您给我的任何提示。

最佳答案

Titanium 不会将 javascript 代码转换为 objective-c。 Titanium 简单地使用 javascript 到 objective-c 桥来与 objective-c iOS 框架(最重要的用户界面对象)通信。更合适的比较是编写 titanium 的用户界面元素(按钮、标签、窗口、 View ),操作它们并在 phonegap 中使用 html、css、图像按钮。

Phonegap 也使用它自己的桥,​​如果您了解 java 或 objective-c,您可以制作插件以使用原生用户界面元素和 iOS 或 Android 的其他原生功能。

http://zsprawl.com/iOS/2012/05/navigation-bar-with-nativecontrols-in-cordova/

关于iphone - 为什么 PhoneGap 看起来比 Titanium 快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9980079/

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