android - 此设备版本不支持基线配置文件

标签 android

我配置了一个基准模块并为该项目创建了一个基线配置文件,并根据此处的说明将其保存在应用程序中 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 12L (Api 32) 上对它们进行基准测试 - b/228222110
  • 您需要最新的 alpha 版本的 profileinstaller,即 1.2.0-alpha02

  • 请注意,profileinstaller 可能会添加一个库(例如 jetpack compose),因此请确保将其添加到依赖项中以覆盖版本。

    关于android - 此设备版本不支持基线配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71174855/

    相关文章:

    java - 未能传递结果 ResultInfo{who=null 使用相机拍照时

    android - 错误 :Could not find com. android.tools.build :gradle:2. 1.0-alpha1

    android - 是否有预制的 ListView 可以像 radio 一样工作(或像不隐藏的 Spinner)?

    java - 读取位图文件返回 null

    java - Android中Activity切换时如何保存数据

    android - 未调用扩展 ImageView onDraw 方法

    Android 11 URI 使用情况(文件 ://content://)

    android - 如何在 phonegap 上使用 GCM 处理 android 中的多个推送通知

    android - Firebase 动态链接 onSuccess 或 onFailure 被调用

    android - 深度链接和多个应用实例