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

标签 java android optimization mobile profiling

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

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

我想知道我的应用在 G1 等较慢设备上的运行速度。除了自己获得 G1 或请拥有 G1 的人为我测试之外,我还有什么办法可以做到这一点吗?

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

最佳答案

Is there any way I can do this besides getting a G1 myself or asking people with G1s to test it for me?

不是今天。

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

同样,板载闪存的访问速度、图形硬件加速等可能都以与 CPU 速度无关的方式存在差异。而且,不同的应用程序会以不同的方式使用这些功能——您的应用程序可能全部从 RAM 运行,而其他应用程序则不断从板载闪存加载(或者更糟糕的是,从 SD 卡加载,速度差异更大)。

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

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

在此期间,您将不得不像游戏开发人员在硬件各不相同的其他平台(例如 Windows)上所做的那样做——测试几个实际配置并制定一些“最小”和“推荐的”硬件级别。

关于java - 无需物理设备即可检查 Android 应用程序的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2316947/

相关文章:

java - CXF 3.1 wsdl2java 使用 Log4j2 进行日志记录

Java - 大文件中的重复字数

Android - 使用过多的线性布局

c - CMP+JE 是否比单个 MUL 消耗更多的时钟周期?

django:为什么在模板中获取模型的 .id 字段很慢?

mysql - 优化SQL查询(类似Facebook的应用程序)

java - Jackson 序列化包括子类的字段

java - 如何使用 `while` 循环执行此任务?

android - 如何从 phonegap 中的图库中选择视频?

java - Twitter4j,回复推文