单击具有最新更新的 EditText 时应用程序崩溃 (gradle 4.4 - android studio 3.1)
App crashing on clicking on EditText with latest updates (gradle 4.4 - android studio 3.1)
我最近将我的 android 工作室更新到 3.1 版,并将我的 gradle 更新到 4.4 版。从那以后,当我点击应该弹出软输入键盘的 EditText
时,我一直面临这个应用程序进入 ANR 的问题。单击 EditText
时,我看到有多个 GC 被触发,最终应用程序崩溃并出现 ANR 消息,指出堆栈溢出超过 8 MB。这是我看到的崩溃:http://crashes.to/s/77a48e5d43c。也粘贴在这里:
Fatal Exception: java.lang.WhosebugError: 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>
仅供参考:当我尝试单击 PreferenceFragmentCompat
.
中的文本项时,我也遇到了类似的问题
UPDATE: There is one other reason to this error, Android Profiler
s
bug. Disabling Advanced Profiling
on Profiling Tab, in Run/Debug configurations may fix it.
此处相关其他答案:
你得到 java.lang.WhosebugError 这意味着你很可能递归地和连续地调用了一些方法。这会导致无限循环和此错误。
如果你有 TextWatcher 或任何像 OnFocusChangeListener 这样的监听器 EditText
,你需要检查它。
在 Android Studio 3.1 的新版本中,高级分析存在一个错误。
所以,您只需禁用它(在菜单栏 运行 -> 编辑配置 -> 分析 -> 启用高级分析)防止 EditText
崩溃。
最新版本Android Studio 修复了这个问题,3.1.1。遇到问题并在片刻之前自己测试了修复程序。希望对您有所帮助!
我最近将我的 android 工作室更新到 3.1 版,并将我的 gradle 更新到 4.4 版。从那以后,当我点击应该弹出软输入键盘的 EditText
时,我一直面临这个应用程序进入 ANR 的问题。单击 EditText
时,我看到有多个 GC 被触发,最终应用程序崩溃并出现 ANR 消息,指出堆栈溢出超过 8 MB。这是我看到的崩溃:http://crashes.to/s/77a48e5d43c。也粘贴在这里:
Fatal Exception: java.lang.WhosebugError: 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>
仅供参考:当我尝试单击 PreferenceFragmentCompat
.
UPDATE: There is one other reason to this error,
Android Profiler
s bug. DisablingAdvanced Profiling
on Profiling Tab, in Run/Debug configurations may fix it.
此处相关其他答案:
你得到 java.lang.WhosebugError 这意味着你很可能递归地和连续地调用了一些方法。这会导致无限循环和此错误。
如果你有 TextWatcher 或任何像 OnFocusChangeListener 这样的监听器 EditText
,你需要检查它。
在 Android Studio 3.1 的新版本中,高级分析存在一个错误。
所以,您只需禁用它(在菜单栏 运行 -> 编辑配置 -> 分析 -> 启用高级分析)防止 EditText
崩溃。
最新版本Android Studio 修复了这个问题,3.1.1。遇到问题并在片刻之前自己测试了修复程序。希望对您有所帮助!