如何解决Xamarin Android JNI 错误访问已删除全局 0x000000
我遇到了一个无法捕捉的错误,如下所示。 我应该从哪里开始调试这种错误?
我猜这是内存泄漏问题或 GC 引用了已删除的对象。 但是,错误消息并没有给我任何线索,为什么会发生这种情况,或者我应该从哪里开始挖掘......
您可以查看vimeo
JNI ERROR (app bug): accessed deleted Global 0x606a
[java_vm_ext.cc] JNI DETECTED ERROR IN APPLICATION: use of deleted global reference 0x606a
[java_vm_ext.cc] "Thread-28" prio=10 tid=34 Runnable
[java_vm_ext.cc] | group="main" sCount=0 dsCount=0 flags=0 obj=0x13080000 self=0x7ac5a58c00
[java_vm_ext.cc] | sysTid=8181 nice=-10 cgrp=default sched=0/0 handle=0x7aaabfd4f0
[java_vm_ext.cc] | state=R schedstat=( 237903034 19270156 585 ) utm=20 stm=3 core=3 HZ=100
[java_vm_ext.cc] | stack=0x7aaa9fe000-0x7aaaa00000 stackSize=2MB
[java_vm_ext.cc] | held mutexes= "mutator lock"(shared held)
[java_vm_ext.cc] native: #00 pc 00000000003cb654 /system/lib64/libart.so
// ...
[libc] Fatal signal 6 (SIGABRT),code -6 (SI_TKILL) in tid 8181 (GLThread 25),pid 7983 (ngoslab.lithium)
这里是完整的error log
解决方法
我找到了原因。当同时使两个 SKGLView
无效时,我面临 JNI ERROR (app bug): accessed deleted Global 0x606a
。
因此,我从 SKGLView
更改为 SKCanvasView
。之后,问题就再也没有出现过。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。