首页 / 浏览问题 / 移动GIS / 问题详情
libc 异常退出的问题
24EXP 2019年06月13日
使用产品:iMobile 9D 操作系统:win10 x64
数据类型:文件型
问题详细描述:我在调用绘制点,线,面要素的功能后,切换工作空间,系统就崩溃了,以下是调试的日志,能看出是什么问题吗?错误报的是A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x970 in tid 27280 (Thread-862), pid 27111 (earch.panofield)这句。

I/Toast: Show toast from OpPackageName:com.gis.research.panofield, PackageName:com.gis.research.panofield
D/libEGL: eglInitialize: enter
    eglInitialize: exit(res=1)
E/SurfaceHolder: Exception locking surface
    java.lang.IllegalStateException: Surface has already been released.
        at android.view.Surface.checkNotReleasedLocked(Surface.java:571)
        at android.view.Surface.lockCanvas(Surface.java:313)
        at android.view.SurfaceView$3.internalLockCanvas(SurfaceView.java:1042)
        at android.view.SurfaceView$3.lockCanvas(SurfaceView.java:1002)
        at com.supermap.mapping.dyn.DynamicView.d(DynamicView.java:362)
        at com.supermap.mapping.dyn.DynamicView.run(DynamicView.java:646)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
        at java.lang.Thread.run(Thread.java:764)
I/zygote: Do full code cache collection, code=245KB, data=215KB
I/zygote: After code cache collection, code=198KB, data=147KB
I/Choreographer: Skipped 72 frames!  The application may be doing too much work on its main thread.
I/zygote: Do partial code cache collection, code=218KB, data=169KB
I/zygote: After code cache collection, code=218KB, data=169KB
    Increasing code cache capacity to 1024KB
W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x970 in tid 27280 (Thread-862), pid 27111 (earch.panofield)
Disconnected from the target VM, address: 'localhost:8601', transport: 'socket'

1个回答

您好,问题描述过于简单,麻烦补充一下详细信息:

1.您使用的iMobile产品是哪个版本呢,具体是哪一个版本,如910、911还是912

2.调试一下是在哪句代码发生的崩溃

3.切换工作空间时,有没有对上一个工作空间进行保存并释放

4.如果可以的话把关键代码贴出来看一下
9,237EXP 2019年06月14日
1.版本:9.1.2

2.崩溃的现象不总是出现,定位不到

3.我的工作空间只是提供了底图环境,采集的数据保存在另外的数据源里(切换工作空间后再单独加载),切换工作空间就是切换底图,所以不需要保存工作空间,这种情况是不是不需要释放工作空间,只需要关闭就可以了。

4.另外我的GPS定位的图标放到了动态图层里是否合理?切换工作空间时是否要考虑动态图层?
在进行工作空间切换时,需要对上一个工作空间释放掉,防止多次切换造成内存泄漏。崩溃的问题我这边也没有重现,我私信你我的联系方式,你把你实现的代码发给我一下吧
好的,谢谢
...