Android比PC更快地执行代码

时间:2011-06-19 14:40:18

标签: android java

Android(1Ghz Snapdragon)的相同代码执行速度比使用3.3 Ghz Core 2 Duo的PC(桌面应用程序)快2倍(来自PC的类被复制到Android项目)。用Win7和Debian测试。 System.currentTimeMillis()为一个(主)计算方法确定的时间。为什么会发生这种情况,我该怎么做才能解决它?

UPD1。第一个应用程序在真正的Android设备上运行,第二个 - 在JRE

UPD2。在那部分应用程序中,我尝试比较,只使用简单的数学运算和BigDecimal运算(乘法,sqrt,除法等)。想法 - 按gauss-legendre algorithm

计算pi

2 个答案:

答案 0 :(得分:1)

您需要更具体地了解您正在采取哪些措施来监控此问题。有很多因素可以影响这一点。如果你在模拟器上运行,请忘记它 - 它非常慢,那里真的没有比较。但是,我觉得你在谈论在JVM中运行的一个应用程序作为标准Java应用程序和在Dalvik上运行的另一个应用程序,但在那里,你真的无法比较。不同的框架具有不同的库和以不同方式实现的不同调用。更不用说Dalvik的优化程度与标准JVM不同,等等。

您需要向我们提供更多信息,以便我们尝试给您解释,但我怀疑您正在尝试比较两件真正无法比较的事情。

答案 1 :(得分:0)

我认为,因为Android设备的处理器架构与PC不同,所以PC上的CPU需要模拟Android,因此可以进行更多的处理。