【发布时间】:2022-06-14 00:30:58
【问题描述】:
我根据https://developer.android.com/studio/profile/baselineprofiles 此处的说明配置了一个基准模块并为该项目创建了一个基线配置文件并将其保存在应用程序中。
我还添加了基准:
@RunWith(AndroidJUnit4::class)
class BaselineProfileBenchmark {
@get:Rule
val benchmarkRule = MacrobenchmarkRule()
@Test
fun startupNoCompilation() {
startup(CompilationMode.None())
}
@Test
fun startupBaselineProfile() {
startup(
CompilationMode.Partial(
baselineProfileMode = BaselineProfileMode.Require
)
)
}
private fun startup(compilationMode: CompilationMode) {
benchmarkRule.measureRepeated(
packageName = "com.example.app",
metrics = listOf(StartupTimingMetric()),
iterations = 10,
startupMode = StartupMode.COLD,
compilationMode = compilationMode
) {
pressHome()
startActivityAndWait()
}
}
}
startupBaselineProfile() 测试失败并出现异常“此设备版本不支持基线配置文件”。我尝试在具有最新 Android 版本的不同 Pixel 和 Samsung 设备上运行它,但到处都抛出相同的异常。
这些基线配置文件是否有效?
【问题讨论】:
-
您运行它们的 Android 版本是什么? Android 12L (API 32) 目前存在一个错误。你能尝试不同的操作系统版本吗?如果不是这样,那么您可以尝试最新版本的配置文件安装程序,即 1.2.0-alpha02 吗?谢谢!
-
@mlykotom 你有你提到的 Android 12L 错误的链接吗?我在运行 Android 12 的 Pixel 3 上遇到了同样的错误。
-
这是您可以跟踪的错误issuetracker.google.com/issues/228222110
-
@mlykotom 我使用的是 1.0.4 版本,切换到 1.2.0-alpha02 有帮助,它适用于 Android 12。谢谢!
-
将其发布为您可以接受的答案,如果它回答了您的问题 :)
标签: android