Android Studio 3.1 EditText StackOverflowError

标签 android android-studio android-studio-3.1

更新到 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 工作正常

最佳答案

作为 @evi指出有a bug in advanced profiling .

现在禁用它(编辑配置设置 -> 分析 -> 启用高级分析) 防止 EditText 崩溃

更新:

修复发布于 Android Studio 3.1.1

高级分析再次可用!

关于Android Studio 3.1 EditText StackOverflowError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49512975/

相关文章:

android - 从客户端(iOS 和 Android)向 Sails.js 服务器发送套接字请求

android - 如何在 android 的谷歌地图上显示我的位置

java - 应用程序类可以是包私有(private)的吗?

android-studio - Android Studio 3.1 Logcat 前缀并不总是显示和破坏漂亮的记录器

android - 当可见性从 GONE 变为 VISIBLE 时,TabLayout 文本消失

android - libgdx - Assets 文件在 .apk 中翻倍

android-studio - 将 Flutter 包发布到本地 .m2 或私有(private) Nexus-Repository

java - 在 EditText 中输入文本时出现 NullPointerException

android-studio - 在 flutter 中将文件添加到git忽略

firebase - 错误:Failed to resolve: common in android studio