laptop and a wrench

漏洞

The user interface is locked during the pre-processing status when syncing a big offline geodatabase.

上次发布: August 3, 2016 ArcGIS Runtime SDK
漏洞 ID 编号 BUG-000094242
已提交February 17, 2016
上次修改时间May 31, 2023
适用范围ArcGIS Runtime SDK
找到的版本10.2.5
状态Known Limit

附加信息

During the pre-processing Sync stage, runtime tries to scan the gdb for changes and create deltas. It is quite an intensive operation and exercises the gdb heavily, which can take long for large geodatabses of the size used in this issue (~500MB)– during this time other operations that need to involve the gdb take a back seat. Tapping on the map causes a hit test to happen on all layers in the map to determine if there are any features at that location, and if some of the layers are coming from the geodatabase as in this case, the hit-test operation will stall till the pre-processing work is done. We cannot perform both things in parallel unfortunately, and since the hit-testing happens on the main thread, it stalls the main thread till the gdb is done scanning - this is what makes the app unresponsive. To workaround this issue, you can turn off hit-testing for gdb based layers during sync using AGSFeatureTableLayer.allowHitTest = false. You can re-enable it when the Preprocessing stage is done, or the whole sync operation finishes. In the next release of the Runtime (Quartz), hit-testing does not happen automatically when you tap on the map like it did in 10.2.x. A developer needs to explicitly call identify() to perform the hit-testing. So the developer can decide whether or not to perform the identify() when a sync is in progress. Also, the hit-testing happens on a background thread, so in the worst case, even if it stalls due to other gdb operations in progress, it will not make the whole app unresponsive.

重现步骤

漏洞 ID: BUG-000094242

软件:

  • ArcGIS Runtime SDK

从 ArcGIS 专家处获得帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项

发现关于本主题的更多内容