Я использую базовый профиль для моего приложения, и он хорошо работает при использовании теста для измерения производительности, но когда я пытаюсь запустить генератор базового профиля, он запускает указанный путь один раз, а затем сбои. Я не понимаю, что это значит. Может ли кто -нибудь объяснить проблему и решение?@RunWith(AndroidJUnit4::class)
@LargeTest
class BaselineProfileGenerator {
@get:Rule
val rule = BaselineProfileRule()
@Test
fun generate() {
// This example works only with the variant with application id `com.app.myapp`."
rule.collect(
packageName = "com.app.myapp",
// See: https://d.android.com/topic/performance ... imizations
includeInStartupProfile = true,
maxIterations = 5
) {
// This block defines the app's critical user journey. Here, we are interested in
// optimizing for app startup. But you can also navigate and scroll through your most important UI.
// Start default activity for your app
pressHome()
startActivityAndWait()
Log.d("bs", "generate: $iteration")
}
}
}
< /code>
Я пытался очистить проект и недействительные кэши, но ничего не сработало.
Я использую физическое устройство - Samsung Galaxy S22 (Android версия 14) для запуска генератора профилей. < /p>
Full Log: < /strong> < /p>
log: < /strong> < /p>
< /strong> < /p>
log.java.lang.IllegalStateException: Expected `pm dump-profiles` stdout to be either black or `Profile saved to '/data/misc/profman/com.app.myapp-primary.prof.txt'` but was Waiting for app processes to flush profiles...
App processes flushed profiles in 0ms
Profile saved to '/data/misc/profman/com.app.myapp-primary.prof.txt'
at androidx.benchmark.macro.BaselineProfilesKt.extractProfile(BaselineProfiles.kt:219)
at androidx.benchmark.macro.BaselineProfilesKt.collect(BaselineProfiles.kt:92)
at androidx.benchmark.macro.junit4.BaselineProfileRule.collect(BaselineProfileRule.kt:137)
at androidx.benchmark.macro.junit4.BaselineProfileRule.collect$default(BaselineProfileRule.kt:127)
at com.example.baselineprofile.BaselineProfileGenerator.generate(BaselineProfileGenerator.kt:48)
48th line is rule.collect(.... in generate() function
Подробнее здесь: https://stackoverflow.com/questions/797 ... -be-either