android 创建基线配置文件时清除应用程序数据

qfe3c7zg  于 2023-02-10  发布在  Android
关注(0)|答案(1)|浏览(120)

我正在尝试为我的Android应用程序创建一些基准配置文件,它们比简单的startActivityAndWait()更有意义
我的应用程序在未初始化状态下启动,但一旦用户选择了目标,该目标将存储在DataStore首选项中,然后您将不再看到初始屏幕。
这意味着为后续迭代运行BaselineProfileRule会失败,因为初始按钮等不再适用。
是否有办法在使用BaselineProfile测试的测试运行之间清除应用数据?我尝试在测试中添加InstrumentationRegistry.getInstrumentation().uiAutomation.executeShellCommand("adb shell pm clear *packageName*"),但似乎没有任何效果。
我也尝试过将testInstrumentationRunnerArguments clearPackageData: 'true'添加到基准build.gradle中,但这也是无效的。

0tdrvxhp

0tdrvxhp1#

我一直用来处理此问题的变通方法是

fun MacrobenchmarkScope.isFirstIteration() = iteration == 0

然后,在设置块中:

if (isFirstIteration()) {
    pressHome()
    startActivityAndWait()
    //Login
    killProcess()
}

相关问题