点击带有最新更新的EditText时应用程序崩溃(gradle 4.4-android studio 3.1)

点击带有最新更新的EditText时应用程序崩溃(gradle 4.4-android studio 3.1),android,android-studio,android-edittext,android-gradle-plugin,android-anr-dialog,Android,Android Studio,Android Edittext,Android Gradle Plugin,Android Anr Dialog,我最近将我的android studio更新为3.1版,并将gradle更新为4.4版。从那时起,当我点击一个弹出软输入键盘的EditText时,我一直面临着应用程序进入ANR的问题。单击一个EditText我看到有多个GC被触发,最终应用程序崩溃,并显示一条消息说堆栈溢出超过8MB。这是我看到的崩溃:。也将其粘贴到此处: Fatal Exception: java.lang.StackOverflowError: stack size 8MB at android.view.inputm

我最近将我的android studio更新为3.1版,并将gradle更新为4.4版。从那时起,当我点击一个弹出软输入键盘的
EditText
时,我一直面临着应用程序进入ANR的问题。单击一个
EditText
我看到有多个GC被触发,最终应用程序崩溃,并显示一条消息说堆栈溢出超过8MB。这是我看到的崩溃:。也将其粘贴到此处:

Fatal Exception: java.lang.StackOverflowError: stack size 8MB
   at android.view.inputmethod.InputConnectionWrapper.reportFullscreenMode(InputConnectionWrapper.java:122)
   at android.view.inputmethod.InputConnectionWrapper.reportFullscreenMode(InputConnectionWrapper.java:122)
   at android.view.inputmethod.InputConnectionWrapper.reportFullscreenMode(InputConnectionWrapper.java:122)
   at android.view.inputmethod.InputConnectionWrapper.reportFullscreenMode(InputConnectionWrapper.java:122)
   at android.view.inputmethod.InputConnectionWrapper.reportFullscreenMode(InputConnectionWrapper.java:122)
   at android.view.inputmethod.InputConnectionWrapper.reportFullscreenMode(InputConnectionWrapper.java:122)
   at android.view.inputmethod.InputConnectionWrapper.reportFullscreenMode(InputConnectionWrapper.java:122)
   at android.view.inputmethod.InputConnectionWrapper.reportFullscreenMode(InputConnectionWrapper.java:122)
   at android.view.inputmethod.InputConnectionWrapper.reportFullscreenMode(InputConnectionWrapper.java:122)
   at android.view.inputmethod.InputConnectionWrapper.reportFullscreenMode(InputConnectionWrapper.java:122)
   at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:416)
   at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:78)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:135)
   at android.app.ActivityThread.main(ActivityThread.java:5268)
   at java.lang.reflect.Method.invoke(Method.java)
   at java.lang.reflect.Method.invoke(Method.java:372)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:902)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697)
下面是我如何使用
EditText
的一个片段:

<android.support.design.widget.TextInputLayout
    android:id="@+id/textInputLayout2"
    android:layout_width="@dimen/login_screen_elem_width"
    android:layout_height="wrap_content"
    android:layout_marginTop="24dp"
    app:layout_constraintStart_toStartOf="@+id/fbLogin"
    app:layout_constraintTop_toBottomOf="@+id/fbLogin">

    <android.support.design.widget.TextInputEditText
        android:id="@+id/etFirstName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/first_name"
        android:imeOptions="flagNoExtractUi|actionNext"
        android:inputType="textPersonName"
        android:maxLines="1"
        android:textColor="@color/secondaryTextColour"
        android:textSize="16dp" />

</android.support.design.widget.TextInputLayout>

FYI:当我尝试单击my
首选项FragmentCompat
中的文本项时,我也面临类似问题

更新:此错误还有另一个原因,
Android Profiler
s 缺陷在运行/调试配置中的评测选项卡上禁用
高级评测
,可能会修复此问题

以下是其他相关答案:


您将得到java.lang.StackOverflowerError,这意味着您很可能会递归地、连续地调用某些方法。这会导致无限循环和此错误


如果您有TextWatcher或任何类似于OnFocusChangeListener的监听器,您需要检查它。

在Android Studio 3.1的新版本中,高级评测中存在缺陷


因此,您只需禁用它(在菜单栏运行->编辑配置->评测->启用高级评测)即可防止
EditText
崩溃。

最新版本的Android Studio修复了这个问题,即3.1.1。不久前,我自己解决了问题并测试了修复程序。希望有帮助

显示编写了
EditText
代码的代码。@EktaBhawsar使用
textinputtext
更新了问题。是否可以尝试隐藏
android:imeOptions=“flagNoExtractUi | actionNext”
并运行。使用
EditText
而不是
textinputtext
并从
android:imeOptions=“flagNoExtractUi | actionNext”中删除
flagNoExtractUi
,我刚刚选中。我的
textinputtext
上没有任何侦听器,这就是原因。谢谢:)修正为3.1.1