ArcGIS Runtime SDK for Android

Release notes for 100.3.0

Version 100.3.0 of ArcGIS Runtime (also known as Update 3) is a significant update, with a focus on performance improvements, greater parity with the full ArcGIS platform, and support for 3D Web GIS. This page provides details about these improvements and describes additional enhancements. It also lists deprecations, resolved issues, and known issues.

For release notes for the previous release, see Related topics near the bottom of this page.

Enhancements

This section describes new features and improvements.

Web scenes

As part of the improved support for 3D Web GIS capabilities of the ArcGIS Platform, you can now display web scenes from ArcGIS Online or ArcGIS Enterprise in your ArcGIS Runtime based apps. Web scenes can be quickly authored by apps such as ArcGIS Pro and Scene Viewer and then easily consumed by your apps, respecting the content, symbology, pop-ups and other settings that the author configured in the web scene. For more information about Runtime support for web scenes, see Runtime support for web scenes.

In addition, 3D content originating from scene layers can now be identified and selected, and their display can be customized through renderers in the web scene. And feature layers can be displayed with 3D symbols originating from web styles in ArcGIS Online or ArcGIS Enterprise.

Scene analysis

  • Interactive distance measuring is now supported in 3D. You can measure horizontal, vertical, and direct distances between two locations in a scene view.
  • Viewshed analysis has been enhanced to support full 360 degrees horizontal field of view. Previously, only a maximum of 120 degrees was supported.
Note:

In previous versions, offsets for scene analysis, such as viewshed and line of sight, were incorrectly applied from the center of the model symbol. Rather, the scene analysis offsets should have been applied from the geometry location. This has now been resolved and there may be some cases where offsets used by your analysis may need to be changed or removed.

Scene view memory management

Scene view has been enhanced to keep memory utilization under a threshold when working with large amounts of 3D content on Android devices to prevent the application from running out of memory. The default limit is calculated on the basis of total system memory available and is shared by all scene views in the application. You can choose to override the limit through the MemoryLimit setting on the scene view. Refer to the API reference for more details.

Arcade

Arcade expressions are now supported:

  • In pop-ups for layer types (for example, feature layers) that support pop-ups. They're defined using the expression property on a pop-up definition.
  • In label definitions for feature layers and graphic overlays. They're defined in JSON using the expression property on the labelExpressionInfo object.
  • In visual variables within renderers defined for feature layers in web maps and mobile map packages. Feature layers must be rendered in static mode to honor visual variables in renderers.

See this SDK's API reference for details on using Arcade. For general information on Arcade and Arcade's function reference, see the ArcGIS Arcade guide.

WMS

WMS support has been enhanced:

  • WMS layers are now time aware and support filtering their contents based on a time range or time instant.
  • You can discover available styles in the service and set the style of a layer to customize its display.
  • You can now specify custom parameters to be sent to the service. This is useful, for instance, if the service requires custom authorization parameters in the HTTP requests.
  • WMS layers now automatically display attribution information of the service in a map view or scene view .

Labeling

Improvements have been made to provide finer control over label placement. These refinements allow for a more consistent display of labels when using mobile map packages (.mmpk files) generated from ArcGIS Pro. You can now do the following:

  • Allow overlap of a label with other features or labels based on weights to assign relative importance and define priorities when there is a conflict
  • Specify an offset distance of a label from the symbol based on screen units.
  • Stack multiple lines of text with custom line separators and choose whether line break should occur before or after the separator, whether the separator should be visible, etc. Previously, only whitespace characters were considered for inserting line breaks.

Query support for map image layer

You can now query sublayers and tables from a map image layer in the same way you query feature layers. The query can be based on attributes and/or spatial relationships and can also be used to return summary statistics or related features. Also, a new method has been added to conveniently load all the sublayers and tables contained in the layer so that their data can be accessed.

Military symbology

Support for App-6(B) and App-6(D) military symbology specifications has been added. You can use the corresponding style files to display symbols based on these standards in your ArcGIS Runtime apps.

Guide documentation

  • Expanded and reorganized layers topics. A new table summarizes supported layers and their capabilities.
  • Expanded and reorganized map and scene documentation.

Deprecations

100.2.1 was the last release to support Android API level 16 ((Android 4.1.x, Jelly Bean). With the 100.3 release, the minimum is API level 19 (Android 4.4, KitKat).

The following list shows deprecations in the API and the replacement API:

  • com.esri.arcgisruntime.arcgisservices package:
    • LayerTimeInfo.getTimeInterval() method—use LayerTimeInfo.getInterval() instead.
    • LayerTimeInfo.getTimeUnit() method—use LayerTimeInfo.getInterval() instead.
    • ServiceTimeInfo.getDefaultTimeInterval() method—use ServiceTimeInfo.getDefaultInterval() instead.
    • ServiceTimeInfo.getDefaultTimeIntervalUnit() method—use ServiceTimeInfo.getDefaultInterval() instead.
  • com.esri.arcgisruntime.tasks.geodatabase package:
    • GeodatabaseSyncTask.importGeodatabaseDeltaAsync(Geodatabase,String) method—use GeodatabaseSyncTask.importDeltaAsync(Geodatabase,String) instead.
  • com.esri.arcgisruntime.geometry package:
    • LineSegment.createLineAtAngleFrom(Point,double,double) method—use LineSegment.createLineAtAngleFromPoint(Point,double,double) instead.
  • com.esri.arcgisruntime.portal package:
    • PortalItemContentParameters.PortalItemContentType.SERVICE_URL enum member—use URL member instead.

Issues resolved

  • BUG-000112740 The first feature added to an empty shapefile does not display until a second feature is drawn.
  • BUG-000114262 An error may occur in EncExchangeSet::getPaths resulting in inability to load EncLayer
  • BUG-000110150 Application with a universal transverse Mercator (UTM) spatial reference may crash when the MapView is centered on a location outside the full extent of all layers
  • BUG-000109558 Opening a mobile map package fails with the error, "Internal Error" when the map in the mobile map package contains German umlauts in the map name.
  • BUG-000114330 When WMTS services have a reverse order for tile matrices, the layer requests incorrect tiles from the service resulting in 404-Not Found error and layer not added to map.
  • ENH-000107768 Request to add Runtime API to load a Web Scene PortalItem to Scene
  • BUG-000111237 Application may crash when zooming into a viewpoint with very small geometry.
  • BUG-000109728 OfflineMapSyncTask doesn't update the feature service in the webmap if the spatial reference of the feature service isn't Web Mercator.
  • BUG-000111867 CompositeSymbol doesn't display properly when it is applied to a Graphic with a Geometry of Envelope
  • BUG-000112435 Vector tiled layer constructed from a vector tile package (.vtpk) containing very large sprites crashes the Runtime application on the machine with a high screen display resolution
  • BUG-000112114 "Out of Range" error is received while calculating a route when multi-part polylines are present in the source feature classes of the network dataset
  • ENH-000108221 Request to add MapServer/DynamicLayer support for FeatureLayer or ServiceFeatureTable
  • BUG-000106101 Vector tiles may fail to display some Chinese characters.
  • BUG-000109215 Symbology layer effects in Mobile Map Package are not rendered correctly.
  • BUG-000114411 Elevation exaggeration of Surface does not give expected results when the image service has a negative elevation
  • BUG-000112713 Faulty display of military symbols in 3D
  • BUG-000111565 Lines created on the GraphicsOverlay with "Dynamic" Rendering mode on 3D doesn't render completely when zooming in
  • BUG-000113632 Feature collection points continue to draw although they do not satisfy the definition expression.

Known issues

  • BUG-000099242 Japanese labels in a mobile map package are not displayed
  • BUG-000113630 Application may crash when loading VectorTileLayers that require large amount of memory
  • BUG-000101144 Rotating a vector tile map causes the screen to flash.
  • BUG-000110656 Gradient fill symbols are displayed as black BUG-000113946 Performance issue of MapView.IdentifyLayerAsync method
  • BUG-000109949 Locator Task from a Mobile Map Package may return suggestions even for invalid addresses.
  • BUG-000109987 Labels generated by python in a map package (.mpk) may not display correctly
  • BUG-000109554 Aplication may encounter an error when trying to display a tile package (.tpk) containing only one Level of Detail.
  • BUG-000108845 Mosaic Dataset doesn't display NoData pixels properly
  • BUG-000111375 Locator created from ArcMap 10.5 does not provide 'Match_addr' or 'Label' even if the score is 100.
  • BUG-000107292 Setting the opacity of a FeatureLayer displayed in a SceneView causes the layer to turn white and opaque.
  • BUG-000104032 Collada models are not rendered correctly with ModelMarkerSymbol.
  • BUG-000107500 Layer in a Mobile map package based on a unique value renderer may not render correctly
  • BUG-000103301 Some military line symbols do not display in the correct location
  • BUG-000111519 Without elevation source the SceneView::screenToLocation function provides invalid "z" values
  • BUG-000113128 UniqueValueRenderer fails to draw features when using values of type unsigned int
  • BUG-000114143 Military symbols fail to display correctly when resizing the symbols in a unique value renderer
  • BUG-000114174 Some mil2525c symbols fail to render properly

  • BUG-000113471 Extending ImageTiledLayer class causes ArcGISRuntimeException while zoom in/zoom out.

Related topics