android - 在xamarin表单android中未附加到窗口管理器崩溃的视图
问题描述
一些用户随机崩溃,难以重现和调试。
这是 Xamarin 表单项目,我编写了从便携式项目到 android 项目的接口,以调用和关闭对话框。
下面是堆栈跟踪:
Java.Lang.RuntimeException: View=DecorView@436ca9e[MainActivity] not attached
to window manager
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c]
in <793d884878e04897966a5f2be50d2777>:0
at Java.Interop.JniEnvironment+InstanceMethods.CallVoidMethod
(Java.Interop.JniObjectReference instance, Java.Interop.JniMethodInfo method,
Java.Interop.JniArgumentValue* args) [0x00069] in
<acbdf8c357bc4305803000756be43728>:0
at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod
(System.String encodedMember, Java.Interop.IJavaPeerable self,
Java.Interop.JniArgumentValue* parameters) [0x0002a] in
<acbdf8c357bc4305803000756be43728>:0
at Android.App.Dialog.Cancel () [0x0000a] in
--- End of managed Java.Lang.RuntimeException stack trace ---
java.lang.IllegalArgumentException: View=DecorView@436ca9e[MainActivity] not
attached to window manager
at
android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:479)
at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:388)
at
android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:128)
at android.app.Dialog.dismissDialog(Dialog.java:610)
at android.app.Dialog.dismiss(Dialog.java:593)
at android.app.Dialog.cancel(Dialog.java:1508)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Native Method)
如何识别此崩溃?
解决方案
推荐阅读
- python - 基于布尔列突出显示行
- spring - 使用 kafka 和 Spring Boot 传递消息时出错
- javascript - 使用动态导入处理类似于 AMD/requirejs 的依赖项
- flutter - Flutter Dio 测试 url 端点路径
- mysql - http get request 格式错误或无效的请求
- excel - 从右键菜单中删除临时选项
- mysql - XAMPP v3.2.4 MySql 在启动几秒钟后崩溃
- soap - Jmeter SOAP 参数化与动态变化的标签块
- sql - 将字符串与格式化数字组合,同时递增一
- amazon-web-services - Terraform:将标签合并/重新推送到源模块中