Après la mise à jour vers Android Studio 3.1, je suis confronté à une exception lorsque EditText est actif
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)
Une idée comment résoudre ce problème?
Mettre à jour:
Après quelques recherches, j'ai découvert que StackOverflowError apparaît avec différents stacktraces avec EditText simple:
<EditText
Android:id="@+id/editText"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"/>
En essayant d'entrer un symbole, je reçois:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 21122
Java.lang.StackOverflowError: stack size 8MB
at Android.view.inputmethod.InputConnectionWrapper.beginBatchEdit(InputConnectionWrapper.Java:106)
Quand je presse en arrière:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: <package>, PID: 21280
Java.lang.StackOverflowError: stack size 8MB
at Android.view.inputmethod.InputConnectionWrapper.finishComposingText(InputConnectionWrapper.Java:78)
Même la saisie de texte dans WebView est à l'origine de cette erreur
Dans AS 3.0, EditText fonctionne normalement
Comme @evi _ l'a souligné, il y a un bogue dans le profilage avancé .
Pour l'instant, désactivez-le (Modifier les paramètres de configuration -> Profilage -> Activer le profilage avancé) empêche le blocage de EditText
Mettre à jour:
Correctif publié dans Android Studio 3.1.1
Le profilage avancé à nouveau disponible!
Cela semble ne se produire que sur les appareils Android 6.0, l'EditText fonctionne bien sur les appareils Android 5 et Android 7. Désactiver le profilage avancé (API <26) dans la configuration d'exécution fonctionne pour moi.
Android 5.1.1, même problème. Semble à un bug dans le nouveau Android Studio. La désactivation du profilage avancé résout le problème de la construction du débogage.
Face aux mêmes problèmes EditText juste après la mise à jour vers Android Studio 3.1. Essayez de définir debuggable false
dans build.gradle
pour le type de construction de débogage. Vous pouvez également basculer sur le type de version publié, car il est faux par défaut. Cela a aidé dans mon cas.
Mise à jour: La confirmation que la désactivation du profilage avancé a également résolu mon problème.
J'ai eu le même problème, mais après:
ça marche pour moi.