Приложение не отвечает, почему всплывающее окно ANR не отображается? - PullRequest
0 голосов
/ 31 октября 2019

Я хочу проверить мое приложение, которое не отвечает. Кнопка в приведенном ниже коде запускает бесконечный цикл, но всплывающее окно ANR не отображается.

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    Toast.makeText(this@MainActivity,"ahmet vefa saruhan",Toast.LENGTH_SHORT).show()
}

fun buttonClickec2( v : View) { //after button click
    while(true) {
        //Nothing to do, why doesn't ANR show?
    }
}

Пожалуйста, внимательно прочитайте вопрос. Вопрос о всплывающем окне ANR.

Ответы [ 2 ]

1 голос
/ 31 октября 2019

Вы пытаетесь преднамеренно отобразить всплывающее диалоговое окно ANR, вызывая бесконечный цикл.

fun buttonClickec2( v : View) { //after button click
    while(true) {
        //Nothing to do, why doesn't ANR show?
    }
}

Согласно документации Android здесь :

Androidпоказывает диалоги ANR для приложений, которые обрабатывают широковещательное сообщение слишком долго, только если в параметрах разработчика устройства включена опция «Показать все ANR». По этой причине фоновые диалоговые окна ANR не всегда отображаются пользователю, но приложение может по-прежнему испытывать проблемы с производительностью.

0 голосов
/ 31 октября 2019

используйте метод show для отображения тоста.

Toast.makeText(this@MainActivity,"ahmet vefa saruhan",Toast.LENGTH_SHORT).show()
...