初始化速度问题,可能会遇到ANR

0 投票

您好,常规的初始化工作空间,如下代码,其实也没有加载map,那个getCount返回为0。有可能出现ANR,特别是在调试一段时间,手机可能有点发热的情况下,出现的频率更高,请问有没有优化解决的措施?

mworkspace = new Workspace();
WorkspaceConnectionInfo connectionInfo = new WorkspaceConnectionInfo();
connectionInfo.setServer(path);
connectionInfo.setType(WorkspaceType.SMWU );
mworkspace.open(connectionInfo);
Datasource da = mworkspace.getDatasources().get(0);
mmapControl = mapView.getMapControl();
mmapControl.getMap().setWorkspace(mworkspace);
map = mmapControl.getMap();
maps = mworkspace.getMaps();
layers = map.getLayers();
9月 21, 2020 分类:  39次浏览 | 用户: fik_tju 初出茅庐 (46 分)

1个回答

0 投票
您好,这一块代码应该是不会出现相关ANR的,打开工作空间的时间也是很快的。您那边具体是怎么重现的呢
9月 21, 2020 用户: 董懿鑫 登峰造极 (7,177 分)

您好,我也没有处理啥耗时的任务,就是打开一个工作空间,就和我提的问题里面的代码基本一样,然后有可能出现ANR,之后就提示

Environment.initialization(SettingoutActivity.this);这句话报错
代码逻辑应该是先初始化环境,再打开工作空间。如果初始化成功了是不会报这个错的。你看一下你的代码逻辑
逻辑没问题,这个ANR不是经常出现,就算手机有点发热的时候可能会出现,其他都还好。我就想问问是不是 打开工作空间这块有问题。

还有就是,要是工作空间较大,就是那个.smwu文件较大,那咱们加载出来的速度是不是理论上来说更慢??我现在有几个数据源,里面的数据集大小差不多是一个G
正常来说工作空间文件过大的话加载会慢一点。但是也不会出现ANR的情况。可以看下设备的内存是否足够
那这样的话,感觉工作空间一大,手机稍微发热一点,就会出现这种情况??所以,这种情况只能使用者在进入app前自己清理后台吗?? 这种情况不能代码主动杀死其他课程吧??非root
根据自己的手机来定吧,如果手机内存较小,建议先手动杀掉其他进程
谢谢,确定不是代码问题就行了,只能说文件太大,谢谢您啊。

您好,今天又遇到了打开新的工作空间,出现ANR无法反应的情况,我把log复制发您,您看看。我这只是打开工作空间,没有进行其他任何操作,但是这个log显示移除、全幅等操作,这我就不是很懂了,您看看到底是哪块出错了,会出现ANR……?

2020-10-11 09:04:02|      1| EGf001| 4067896768|   error| 查找Graphics类型为9的UGGraphicsManager失败| jni/JB/32/Graphics/../../../Src/Graphics/UGGraphicsManager.cpp(282)
2020-10-11 09:04:02|      0| EAg031| 4067896768|   error| 查找Graphics类型为9的UGGraphicsManager失败| jni/JB/32/Graphics/../../../Src/Graphics/UGGraphicsManager.cpp(90)
2020-10-11 09:04:03|     66| EFd063| 4067896768| warning| 调整比例系数失败| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(2058)
2020-10-11 09:04:03|      0| EFd063| 4067896768| warning| 调整比例系数失败| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(2059)
2020-10-11 09:04:03|      1| EGg018| 4067896768| warning| 已经是全幅显示| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(1494)
2020-10-11 09:04:03|      0| EFd063| 4067896768| warning| 调整比例系数失败| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(2058)
2020-10-11 09:04:03|      0| EFd063| 4067896768| warning| 调整比例系数失败| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(2059)
2020-10-11 09:04:03|      0| EGg018| 4067896768| warning| 已经是全幅显示| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(1494)
2020-10-11 09:04:03|    191| EGg018| 4067896768| warning| 已经是全幅显示| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(1494)
2020-10-11 09:04:03|      0| EGg018| 4067896768| warning| 已经是全幅显示| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(1494)
2020-10-11 09:04:03|      1| EGg018| 4067896768| warning| 已经是全幅显示| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(1494)
2020-10-11 09:04:03|     45| EGg018| 4067896768| warning| 已经是全幅显示| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(1494)
2020-10-11 09:04:03|      0| EGg018| 4067896768| warning| 已经是全幅显示| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(1494)
2020-10-11 09:04:03|      9|   -100| 4067896768|   error| 要绘制的几何对象为空| jni/JB/32/UGM/../../../Src/UGM/SiCollector.cpp(125)
2020-10-11 09:04:03|      2| EGg018| 4067896768| warning| 已经是全幅显示| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(1494)
2020-10-11 09:04:03|      2|   -100| 4067896768|   error| 要绘制的几何对象为空| jni/JB/32/UGM/../../../Src/UGM/SiCollector.cpp(125)
2020-10-11 09:04:04|    818| EFd063| 4067896768| warning| 调整比例系数失败| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(2058)
2020-10-11 09:04:04|      0| EFd063| 4067896768| warning| 调整比例系数失败| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(2059)
2020-10-11 09:04:04|      0| EGg018| 4067896768| warning| 已经是全幅显示| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(1494)
2020-10-11 09:04:04|      0| EFd063| 4067896768| warning| 调整比例系数失败| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(2058)
2020-10-11 09:04:04|      0| EFd063| 4067896768| warning| 调整比例系数失败| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(2059)
2020-10-11 09:04:04|      0| EGg018| 4067896768| warning| 已经是全幅显示| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(1494)
2020-10-11 09:04:06|   2053| EDd003| 4067896768| warning| 与ID对应的索引不存在| jni/JB/32/Symbol/../../../Src/Symbol/UGSymbolGroup.cpp(278)
2020-10-11 09:04:06|      0| EGa022| 4067896768| warning| 移除指定ID的符号失败| jni/JB/32/Symbol/../../../Src/Symbol/UGSymbolGroup.cpp(361)
2020-10-11 09:04:06|      0| EDd003| 4067896768| warning| 与ID对应的索引不存在| jni/JB/32/Symbol/../../../Src/Symbol/UGSymbolGroup.cpp(278)
2020-10-11 09:04:06|      0| EGa022| 4067896768| warning| 移除指定ID的符号失败| jni/JB/32/Symbol/../../../Src/Symbol/UGSymbolGroup.cpp(361)
2020-10-11 09:04:06|      4| EDd003| 4067896768| warning| 与ID对应的索引不存在| jni/JB/32/Symbol/../../../Src/Symbol/UGSymbolGroup.cpp(278)
2020-10-11 09:04:06|      0| EGa022| 4067896768| warning| 移除指定ID的符号失败| jni/JB/32/Symbol/../../../Src/Symbol/UGSymbolGroup.cpp(361)
2020-10-11 09:04:06|     89| EGg018| 3213832752| warning| 已经是全幅显示| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(1494)
2020-10-11 09:04:06|      0| EGg018| 3213832752| warning| 已经是全幅显示| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(1494)
2020-10-11 09:04:06|      0| EGg018| 3213832752| warning| 已经是全幅显示| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(1494)
2020-10-11 09:04:06|      0| EGg018| 3213832752| warning| 已经是全幅显示| jni/JB/32/Drawing/../../../Src/Drawing/UGDrawParamaters.cpp(1494)

...