AVD中不同API之间的性能差异

时间:2019-06-26 09:08:24

标签: java android performance avd

我正在尝试使用java.util.stream进行并行计算。 我正在使用Android Studio,并且检查更新是否显示我拥有最新版本。

我有一个简单的计算,实现为嵌套的for循环和嵌套的...Stream.range(...).parallel()...,并根据计算需要使用Int和Double的混合。我没有可用的硬件范围,因此我正在使用AVD模拟器。我在计算的开始和结束时将变量设置为SystemClock.uptimeMillis(),然后达到一个断点。

不同API(安卓版本)的计算时间所有虚拟设备均为Pixel 2 x86映像,并且均在同一Windows 7 PC上。

  • API 22(Android 5.1)串行0.6s并行n / a。
  • API 25(Android 7.1.1)串行67s并行5.2s。
  • API 28(Android 9.0)串行1.4s并行23s。

我希望使用不同的硬件会有所不同,但是我对Android版本的更改感到惊讶。有谁知道这是AVD特有的还是代表现实世界的差异?

1 个答案:

答案 0 :(得分:0)

我同意弗拉迪斯拉夫的评论。另外,似乎更多地与调试构建/交互有关。使用发布版本不会显示出如此巨大的变化(分别是67s和1.4s)(仅用于视觉评估)。