无需物理设备即可检查Android应用的速度?

时间:2010-02-23 09:21:05

标签: java android optimization mobile profiling

我正在为Android编写游戏。我想尽可能多地定位设备。我知道Droid所有者购买了大约50%的应用程序,其余的是G1和HTC设备的混合。

到目前为止,我一直在模拟器中测试我的应用程序以模拟Droid手机(我得到大约40 fps)以及实际的Droid手机(我得到大约60 fps)。

我想知道我的应用程序在较慢的设备上运行的速度有多快,例如G1。除了自己获得G1或者让G1的人为我测试之外,我有什么方法可以做到这一点吗?

例如,有什么方法可以使用模拟器来大致了解它在G1上的运行情况吗?

2 个答案:

答案 0 :(得分:1)

  

时   除此之外我还有什么方法可以做到这一点   自己获得G1或询问人   用G1s来测试一下吗?

不是今天。

对于简单的“它慢了50%”的答案,有太多变量。 DROID具有浮点硬件(FPU),而G1则没有。如果您正在进行大量的浮点计算,DROID和G1之间的差异将大于相对CPU速度指示的差异。

类似地,板载闪存,图形硬件加速等的访问速度可能都与CPU速度无关。并且,不同的应用程序将以不同的方式使用这些功能 - 您的应用程序可能全部来自RAM,而其他应用程序不断从板载闪存加载(或者更糟糕的是,来自SD卡,其速度变化甚至更广泛)。

从性能角度来看,仿真器与真实硬件几乎没有相似之处。例如,根本没有图形硬件加速。使用模拟器来测试你的游戏是否有效;使用它来衡量性能对我来说似乎毫无意义。哎呀,我无法让仿真器在四核PC上可靠地播放视频。

现在,给定一个工具可以衡量您的应用程序使用某些功能的程度(例如,某些OpenGL操作),以及一个数据库,说明不同设备在执行这些操作时的表现,您可能能够做出一个相当准确的答案。唉,这一切都不存在,AFAIK。也许有一天它会存在,由众包数据库或其他东西提供。

在此期间,您将最终不得不做游戏开发人员在硬件变化的其他平台上做的事情(例如,Windows) - 测试几个实际配置并绘制一些“最小”和“推荐“硬件级别。

答案 1 :(得分:0)

你看过Device Anywhere吗?