gpt4 book ai didi

java - Phonegap vs native on android 性能测试

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:16:37 25 4
gpt4 key购买 nike

我的最后一年项目有一个严重的问题。我被告知要使用 PhoneGap 开发一个移动应用程序以支持多个平台。然后我被告知要比较 PhoneGapNative 的性能,所以我决定在 android 上进行测试。

我为 PhoneGapJava< 编写了一个示例函数并测量了用 JavaScript 实现它的时间/em> 用于原生 Android。有趣的是,JavaScript 函数的完成时间减少了 10 倍,而且我一直认为 Native 函数要快得多。

这是我用 JavaScript 为 PhoneGap 编写的代码:

        var array = new Array();
var start = new Date().getTime();
for (var i = 0; i < 1000000; i++) {
var j = i + Math.random();
if (j % 2 == 0)
j = 1;
else
j = 0;
array.push(j);
}
var end = new Date().getTime();

var time = end-start;
var div = document.getElementById('result');

div.innerHTML = "Result time= " + time;

还有我的 Java 原生代码:

            long startTime = System.currentTimeMillis();
ArrayList<Integer> array = new ArrayList<Integer>();
for (int i = 0; i < 1000000; i++) {
Random r = new Random();
int j = i + r.nextInt();
if (j % 2 == 0)
j = 1;
else
j = 0;
array.add(j);
}
long endTime = System.currentTimeMillis();

long time = endTime - startTime;
t1.setTextColor(Color.BLACK);
t1.setText("Result time= "
+ Long.toString(time));

第一个的输出是:平均350ms

第二个的输出是:平均3600ms

我正在测试

Samsung Galaxy Note 10.1 tablet.

这样对吗?还是我遗漏了什么并犯了一个严重的错误?

非常感谢你的帮助。

------------更新------------

放在

之后

Random r = new Random()

在循环之外,执行循环所需的新时间是750 毫秒。但是使用 Phonegap 的速度仍然快两倍,我可以得出结论,对于数值处理,Phonegap 在 Android 上比 Native 好吗?

最佳答案

并非所有随机数生成器的性能都一样。为了公平比较,您最好进行确定性计算。

您的测试还应该包括其他功能,例如测试 GUI 响应时间、网络、数据库访问等。最有趣的是 GUI 响应时间,因为这是大多数应用程序将花费大部分时间的地方。所有其他比较就像在代码中寻找微优化。

请分享您的结果,因为这正是我访问此问题的原因。

关于java - Phonegap vs native on android 性能测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16156370/

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