Android Studio 3.1 EditText StackOverflowError
После обновления до Android Studio 3.1 я столкнулся с исключением, когда EditText в фокусе
E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 18938
java.lang.StackOverflowError: stack size 8MB
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
at android.view.inputmethod.InputConnectionWrapper.getTextBeforeCursor(InputConnectionWrapper.java:46)
Любая идея, как это исправить?
Обновить:
После некоторых исследований я обнаружил, что StackOverflowError появляется с разными стеками стека с простым EditText:
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"/>
При попытке ввода любого символа я получаю:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 21122
java.lang.StackOverflowError: stack size 8MB
at android.view.inputmethod.InputConnectionWrapper.beginBatchEdit(InputConnectionWrapper.java:106)
Когда я нажимаю:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 21280
java.lang.StackOverflowError: stack size 8MB
at android.view.inputmethod.InputConnectionWrapper.finishComposingText(InputConnectionWrapper.java:78)
Даже ввод текста в WebView, вызывающий эту ошибку
В AS 3.0 EditText работал нормально
Ответы
Ответ 1
Как отметил @evi, есть ошибка в расширенном профилировании.
Теперь отключить его (Изменить настройки конфигурации → Профилирование → Включить расширенное профилирование) предотвращает сбой редактора EditText
Обновить:
Исправление выпущено в Android Studio 3.1.1
Продвинутое профилирование доступно еще раз!
Ответ 2
Это, похоже, происходит только на устройствах Android 6.0, EditText отлично работает на устройствах Android 5 и Android 7. Отключить расширенное профилирование (API <26) в конфигурации запуска для меня.
Ответ 3
Android 5.1.1, такая же проблема. Кажется, ошибка в новой Android Studio. Отключение расширенного профилирования устраняет проблему для сборки отладки.
Ответ 4
Столкнулся с теми же проблемами EditText сразу после обновления до Android Studio 3.1. Попробуйте установить debuggable false
в build.gradle
для типа сборки отладки. Или просто переключитесь на выпуск типа сборки, поскольку по умолчанию он ложный. Это помогло в моем случае.
Обновление: подтверждение того, что отключение расширенного профилирования также исправило мою проблему.
Ответ 5
У меня была та же проблема, но после:
- Удалите папку.idea,.gradle, gradle и заново создайте ее.
- Очистить проект.
- Перестроить приложение.
меня устраивает.