<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Map Perfomance Issue while loading Graphic Overlay in Android Runtime 100.5.0 in ArcGIS Runtime SDK for Android Questions</title>
    <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/map-perfomance-issue-while-loading-graphic-overlay/m-p/70916#M514</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are migrating out android app from 10.12 to 100.5.0, though almost 90% is completed. we have encountered a serious performance problem which leads to ANR and getting stuck of map view.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So here is the problem :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have a rest API (normal json based,not feature layer) which expose an array of geo locations.our requirement is such that we have to call this api whenever the user moves or pans the map and draw the overlay of points (from the api response )in the current visible extent of the map using graphics overlay.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried viewpointchangelistener() on the map view,the problem with that is the callback gets triggered so often,which results in unwanted api calls.also i have read from the document that this is not right place to do long operation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then i have switched to navigationchangedlistener() and call the api if the map is not currently navigating on the current visible extent, though this has improved the performance considerably, still we have the problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here is the code that i use :&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;my navigation changed listener :&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN style="color: #9876aa;"&gt;_mapView&lt;/SPAN&gt;.addNavigationChangedListener&lt;SPAN style="color: #9876aa;"&gt;(
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;        &lt;/SPAN&gt;navigationChangedEvent -&amp;gt; &lt;SPAN style="color: #9876aa;"&gt;{
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;          &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;if &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;!navigationChangedEvent.isNavigating&lt;SPAN style="color: #9876aa;"&gt;()) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;            &lt;/SPAN&gt;System.&lt;SPAN style="color: #9876aa;"&gt;out&lt;/SPAN&gt;.println&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #6a8759;"&gt;"navigating"&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;            if &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;_mapView&lt;/SPAN&gt;.getMapScale&lt;SPAN style="color: #9876aa;"&gt;() &lt;/SPAN&gt;&amp;lt; &lt;SPAN style="color: #6897bb;"&gt;50000&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;mCurrentEnvelope &lt;/SPAN&gt;= &lt;SPAN style="color: #9876aa;"&gt;_mapView&lt;/SPAN&gt;.getVisibleArea&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.getExtent&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;getBusStopsList&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;            &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;}
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;          }
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;        })&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;method which calls the API - getBusStopsList() :&lt;/STRONG&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN style="color: #cc7832;"&gt;private void &lt;/SPAN&gt;&lt;SPAN style="color: #ffc66d;"&gt;getBusStopsList&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;() {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;  &lt;/SPAN&gt;System.&lt;SPAN style="color: #9876aa;"&gt;out&lt;/SPAN&gt;.println&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #6a8759;"&gt;"calling busstops api "&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;  &lt;/SPAN&gt;Envelope envelope = &lt;SPAN style="color: #9876aa;"&gt;mCurrentEnvelope&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;  &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;mBusRouteManager&lt;/SPAN&gt;.getBusStopsList&lt;SPAN style="color: #9876aa;"&gt;(
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;      &lt;/SPAN&gt;envelope.getXMin&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;      &lt;/SPAN&gt;envelope.getYMin&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;      &lt;/SPAN&gt;envelope.getXMax&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;      &lt;/SPAN&gt;envelope.getYMax&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;      &lt;/SPAN&gt;&lt;SPAN&gt;getLanguage&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;      new &lt;/SPAN&gt;BusRouteManager.BusStopsListener&lt;SPAN style="color: #9876aa;"&gt;() {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;@Override
&lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;public void &lt;/SPAN&gt;&lt;SPAN style="color: #ffc66d;"&gt;onSuccess&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;List&amp;lt;Stop&amp;gt; ptStopList&lt;SPAN style="color: #9876aa;"&gt;) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;          &lt;/SPAN&gt;System.&lt;SPAN style="color: #9876aa;"&gt;out&lt;/SPAN&gt;.println&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #6a8759;"&gt;"recieved " &lt;/SPAN&gt;+ ptStopList.size&lt;SPAN style="color: #9876aa;"&gt;() &lt;/SPAN&gt;+ &lt;SPAN style="color: #6a8759;"&gt;" stops"&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;          if &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;ptStopList.size&lt;SPAN style="color: #9876aa;"&gt;() &lt;/SPAN&gt;&amp;gt; &lt;SPAN style="color: #6897bb;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;            &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;for &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;int &lt;/SPAN&gt;i = &lt;SPAN style="color: #6897bb;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;; &lt;/SPAN&gt;i &amp;lt; ptStopList.size&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;; &lt;/SPAN&gt;i++&lt;SPAN style="color: #9876aa;"&gt;) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(STOP_NAME&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #9876aa;"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(STOP_ID&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #9876aa;"&gt;Id&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(STATELESS&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #9876aa;"&gt;Stateless&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(STOP_DISPLAY_ID&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #9876aa;"&gt;DisplayId&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(LAT&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.getLocation&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.getX&lt;SPAN style="color: #9876aa;"&gt;())&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(LON&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.getLocation&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.getY&lt;SPAN style="color: #9876aa;"&gt;())&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(OVERLAY_TYPE&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;BUS_STOPS_OVERLAY)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;Point graphicPoint =
                      &lt;SPAN style="color: #cc7832;"&gt;new &lt;/SPAN&gt;Point&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.getLocation&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.getX&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.getLocation&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.getY&lt;SPAN style="color: #9876aa;"&gt;())&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;Graphic stopGraphic =
                      &lt;SPAN style="color: #cc7832;"&gt;new &lt;/SPAN&gt;Graphic&lt;SPAN style="color: #9876aa;"&gt;(
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;                              &lt;/SPAN&gt;graphicPoint&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;                              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;                              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopSymbol&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;mBusStopsGraphicsOverlay&lt;/SPAN&gt;.getGraphics&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.add&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;stopGraphic&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;            &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;}
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;          }
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;        }
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;@Override
&lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;public void &lt;/SPAN&gt;&lt;SPAN style="color: #ffc66d;"&gt;onFailure&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;String message&lt;SPAN style="color: #9876aa;"&gt;) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;          &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;mDisplayUtils&lt;/SPAN&gt;.showToast&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;message&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;MapActivity.&lt;SPAN style="color: #cc7832;"&gt;this, &lt;/SPAN&gt;Toast.&lt;SPAN style="color: #9876aa;"&gt;LENGTH_SHORT)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;}
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;      })&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This method internally makes a retrofit call to the api and onSuccess loops through the list and add the graphic to the overlay.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;also this triggers lot of Garbage collecting activities and the respective logs gets printed in logCat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when the app gets stuck, because of this issue. i get log saying that its &lt;STRONG&gt;tombstoned&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am sure that the issue is because of this method, when i comment this method from executing everything runs smoothly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The same methodology was used in 10.2.9 which was working perfectly fine (we have earlier used scalechangedlistener() )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please suggest some better approach regarding this issue.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 10 Dec 2021 22:43:36 GMT</pubDate>
    <dc:creator>AsifIsmail</dc:creator>
    <dc:date>2021-12-10T22:43:36Z</dc:date>
    <item>
      <title>Map Perfomance Issue while loading Graphic Overlay in Android Runtime 100.5.0</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/map-perfomance-issue-while-loading-graphic-overlay/m-p/70916#M514</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are migrating out android app from 10.12 to 100.5.0, though almost 90% is completed. we have encountered a serious performance problem which leads to ANR and getting stuck of map view.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So here is the problem :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have a rest API (normal json based,not feature layer) which expose an array of geo locations.our requirement is such that we have to call this api whenever the user moves or pans the map and draw the overlay of points (from the api response )in the current visible extent of the map using graphics overlay.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried viewpointchangelistener() on the map view,the problem with that is the callback gets triggered so often,which results in unwanted api calls.also i have read from the document that this is not right place to do long operation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then i have switched to navigationchangedlistener() and call the api if the map is not currently navigating on the current visible extent, though this has improved the performance considerably, still we have the problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here is the code that i use :&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;my navigation changed listener :&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN style="color: #9876aa;"&gt;_mapView&lt;/SPAN&gt;.addNavigationChangedListener&lt;SPAN style="color: #9876aa;"&gt;(
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;        &lt;/SPAN&gt;navigationChangedEvent -&amp;gt; &lt;SPAN style="color: #9876aa;"&gt;{
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;          &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;if &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;!navigationChangedEvent.isNavigating&lt;SPAN style="color: #9876aa;"&gt;()) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;            &lt;/SPAN&gt;System.&lt;SPAN style="color: #9876aa;"&gt;out&lt;/SPAN&gt;.println&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #6a8759;"&gt;"navigating"&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;            if &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;_mapView&lt;/SPAN&gt;.getMapScale&lt;SPAN style="color: #9876aa;"&gt;() &lt;/SPAN&gt;&amp;lt; &lt;SPAN style="color: #6897bb;"&gt;50000&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;mCurrentEnvelope &lt;/SPAN&gt;= &lt;SPAN style="color: #9876aa;"&gt;_mapView&lt;/SPAN&gt;.getVisibleArea&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.getExtent&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;getBusStopsList&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;            &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;}
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;          }
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;        })&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;method which calls the API - getBusStopsList() :&lt;/STRONG&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN style="color: #cc7832;"&gt;private void &lt;/SPAN&gt;&lt;SPAN style="color: #ffc66d;"&gt;getBusStopsList&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;() {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;  &lt;/SPAN&gt;System.&lt;SPAN style="color: #9876aa;"&gt;out&lt;/SPAN&gt;.println&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #6a8759;"&gt;"calling busstops api "&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;  &lt;/SPAN&gt;Envelope envelope = &lt;SPAN style="color: #9876aa;"&gt;mCurrentEnvelope&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;  &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;mBusRouteManager&lt;/SPAN&gt;.getBusStopsList&lt;SPAN style="color: #9876aa;"&gt;(
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;      &lt;/SPAN&gt;envelope.getXMin&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;      &lt;/SPAN&gt;envelope.getYMin&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;      &lt;/SPAN&gt;envelope.getXMax&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;      &lt;/SPAN&gt;envelope.getYMax&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;      &lt;/SPAN&gt;&lt;SPAN&gt;getLanguage&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;      new &lt;/SPAN&gt;BusRouteManager.BusStopsListener&lt;SPAN style="color: #9876aa;"&gt;() {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;@Override
&lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;public void &lt;/SPAN&gt;&lt;SPAN style="color: #ffc66d;"&gt;onSuccess&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;List&amp;lt;Stop&amp;gt; ptStopList&lt;SPAN style="color: #9876aa;"&gt;) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;          &lt;/SPAN&gt;System.&lt;SPAN style="color: #9876aa;"&gt;out&lt;/SPAN&gt;.println&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #6a8759;"&gt;"recieved " &lt;/SPAN&gt;+ ptStopList.size&lt;SPAN style="color: #9876aa;"&gt;() &lt;/SPAN&gt;+ &lt;SPAN style="color: #6a8759;"&gt;" stops"&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;          if &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;ptStopList.size&lt;SPAN style="color: #9876aa;"&gt;() &lt;/SPAN&gt;&amp;gt; &lt;SPAN style="color: #6897bb;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;            &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;for &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;int &lt;/SPAN&gt;i = &lt;SPAN style="color: #6897bb;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;; &lt;/SPAN&gt;i &amp;lt; ptStopList.size&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;; &lt;/SPAN&gt;i++&lt;SPAN style="color: #9876aa;"&gt;) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(STOP_NAME&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #9876aa;"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(STOP_ID&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #9876aa;"&gt;Id&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(STATELESS&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #9876aa;"&gt;Stateless&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(STOP_DISPLAY_ID&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #9876aa;"&gt;DisplayId&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(LAT&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.getLocation&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.getX&lt;SPAN style="color: #9876aa;"&gt;())&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(LON&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.getLocation&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.getY&lt;SPAN style="color: #9876aa;"&gt;())&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(OVERLAY_TYPE&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;BUS_STOPS_OVERLAY)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;Point graphicPoint =
                      &lt;SPAN style="color: #cc7832;"&gt;new &lt;/SPAN&gt;Point&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.getLocation&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.getX&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.getLocation&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.getY&lt;SPAN style="color: #9876aa;"&gt;())&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;Graphic stopGraphic =
                      &lt;SPAN style="color: #cc7832;"&gt;new &lt;/SPAN&gt;Graphic&lt;SPAN style="color: #9876aa;"&gt;(
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;                              &lt;/SPAN&gt;graphicPoint&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;                              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;                              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopSymbol&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;mBusStopsGraphicsOverlay&lt;/SPAN&gt;.getGraphics&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.add&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;stopGraphic&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;            &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;}
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;          }
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;        }
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;@Override
&lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;public void &lt;/SPAN&gt;&lt;SPAN style="color: #ffc66d;"&gt;onFailure&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;String message&lt;SPAN style="color: #9876aa;"&gt;) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;          &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;mDisplayUtils&lt;/SPAN&gt;.showToast&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;message&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;MapActivity.&lt;SPAN style="color: #cc7832;"&gt;this, &lt;/SPAN&gt;Toast.&lt;SPAN style="color: #9876aa;"&gt;LENGTH_SHORT)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;}
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;      })&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This method internally makes a retrofit call to the api and onSuccess loops through the list and add the graphic to the overlay.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;also this triggers lot of Garbage collecting activities and the respective logs gets printed in logCat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when the app gets stuck, because of this issue. i get log saying that its &lt;STRONG&gt;tombstoned&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am sure that the issue is because of this method, when i comment this method from executing everything runs smoothly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The same methodology was used in 10.2.9 which was working perfectly fine (we have earlier used scalechangedlistener() )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please suggest some better approach regarding this issue.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 22:43:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/map-perfomance-issue-while-loading-graphic-overlay/m-p/70916#M514</guid>
      <dc:creator>AsifIsmail</dc:creator>
      <dc:date>2021-12-10T22:43:36Z</dc:date>
    </item>
    <item>
      <title>Re: Map Perfomance Issue while loading Graphic Overlay in Android Runtime 100.5.0</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/map-perfomance-issue-while-loading-graphic-overlay/m-p/70917#M515</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Asif,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is the `getBusStopsList` method synchronous, i.e. blocks while making the retrofit call and adding the graphics to the overlay? If so, could you try to make this an asynchronous call that&amp;nbsp;does the network request and adding the graphics on a background thread?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Gunther&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Sep 2019 09:19:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/map-perfomance-issue-while-loading-graphic-overlay/m-p/70917#M515</guid>
      <dc:creator>GuntherHeppner</dc:creator>
      <dc:date>2019-09-13T09:19:18Z</dc:date>
    </item>
    <item>
      <title>Re: Map Perfomance Issue while loading Graphic Overlay in Android Runtime 100.5.0</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/map-perfomance-issue-while-loading-graphic-overlay/m-p/70918#M516</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thanks gunther,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;will try that approach and check&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 22 Sep 2019 04:06:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/map-perfomance-issue-while-loading-graphic-overlay/m-p/70918#M516</guid>
      <dc:creator>AsifIsmail</dc:creator>
      <dc:date>2019-09-22T04:06:41Z</dc:date>
    </item>
    <item>
      <title>Re: Map Perfomance Issue while loading Graphic Overlay in Android Runtime 100.5.0</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/map-perfomance-issue-while-loading-graphic-overlay/m-p/70919#M517</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Gunther,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have changed the code as per your suggestion, and it looks improved but still i have encountered a crash once during testing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here is the changed code :&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;navigation changed listener :&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN style="color: #9876aa;"&gt;_mapView&lt;/SPAN&gt;.addNavigationChangedListener&lt;SPAN style="color: #9876aa;"&gt;(
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;        &lt;/SPAN&gt;navigationChangedEvent -&amp;gt; &lt;SPAN style="color: #9876aa;"&gt;{
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;          &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;if &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;!navigationChangedEvent.isNavigating&lt;SPAN style="color: #9876aa;"&gt;()) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;            &lt;/SPAN&gt;System.&lt;SPAN style="color: #9876aa;"&gt;out&lt;/SPAN&gt;.println&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #6a8759;"&gt;"navigating"&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;            if &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;_mapView&lt;/SPAN&gt;.getMapScale&lt;SPAN style="color: #9876aa;"&gt;() &lt;/SPAN&gt;&amp;lt; &lt;SPAN style="color: #6897bb;"&gt;50000&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;mCurrentEnvelope &lt;/SPAN&gt;= &lt;SPAN style="color: #9876aa;"&gt;_mapView&lt;/SPAN&gt;.getVisibleArea&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.getExtent&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;// getBusStopsList();
&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;if &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;mLoadStopsTask &lt;/SPAN&gt;!= &lt;SPAN style="color: #cc7832;"&gt;null
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;                      &lt;/SPAN&gt;&amp;amp;&amp;amp; !&lt;SPAN style="color: #9876aa;"&gt;mLoadStopsTask&lt;/SPAN&gt;.isCancelled&lt;SPAN style="color: #9876aa;"&gt;()
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;                      &lt;/SPAN&gt;&amp;amp;&amp;amp; &lt;SPAN style="color: #9876aa;"&gt;mLoadStopsTask&lt;/SPAN&gt;.getStatus&lt;SPAN style="color: #9876aa;"&gt;() &lt;/SPAN&gt;!= AsyncTask.Status.&lt;SPAN style="color: #9876aa;"&gt;FINISHED) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;                &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;mLoadStopsTask&lt;/SPAN&gt;.cancel&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;true&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;}
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;mLoadStopsTask &lt;/SPAN&gt;= &lt;SPAN style="color: #cc7832;"&gt;new &lt;/SPAN&gt;LoadBusStopTask&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;mLoadStopsTask&lt;/SPAN&gt;.execute&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;            &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;}
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;          }
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;        })&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Async task which calls getBusStopsList() :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN style="color: #cc7832;"&gt;private class &lt;/SPAN&gt;LoadBusStopTask &lt;SPAN style="color: #cc7832;"&gt;extends &lt;/SPAN&gt;AsyncTask&amp;lt;Void&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;Void&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;Void&amp;gt; &lt;SPAN style="color: #9876aa;"&gt;{
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;  &lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;@Override
&lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;  &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;protected &lt;/SPAN&gt;Void &lt;SPAN style="color: #ffc66d;"&gt;doInBackground&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;Void... voids&lt;SPAN style="color: #9876aa;"&gt;) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;    &lt;/SPAN&gt;getBusStopsList&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;    return null;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;  &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;}
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Retrofit call :&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN style="color: #cc7832;"&gt;private void &lt;/SPAN&gt;&lt;SPAN style="color: #ffc66d;"&gt;getBusStopsList&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;() {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;  &lt;/SPAN&gt;System.&lt;SPAN style="color: #9876aa;"&gt;out&lt;/SPAN&gt;.println&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #6a8759;"&gt;"calling busstops api "&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;  &lt;/SPAN&gt;Envelope envelope = &lt;SPAN style="color: #9876aa;"&gt;mCurrentEnvelope&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;  &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;mBusRouteManager&lt;/SPAN&gt;.getBusStopsList&lt;SPAN style="color: #9876aa;"&gt;(
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;      &lt;/SPAN&gt;envelope.getXMin&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;      &lt;/SPAN&gt;envelope.getYMin&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;      &lt;/SPAN&gt;envelope.getXMax&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;      &lt;/SPAN&gt;envelope.getYMax&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;      &lt;/SPAN&gt;Darb.&lt;SPAN&gt;getLanguage&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;      new &lt;/SPAN&gt;BusRouteManager.BusStopsListener&lt;SPAN style="color: #9876aa;"&gt;() {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;@Override
&lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;public void &lt;/SPAN&gt;&lt;SPAN style="color: #ffc66d;"&gt;onSuccess&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;List&amp;lt;PTStop&amp;gt; ptStopList&lt;SPAN style="color: #9876aa;"&gt;) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;          &lt;/SPAN&gt;System.&lt;SPAN style="color: #9876aa;"&gt;out&lt;/SPAN&gt;.println&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #6a8759;"&gt;"recieved " &lt;/SPAN&gt;+ ptStopList.size&lt;SPAN style="color: #9876aa;"&gt;() &lt;/SPAN&gt;+ &lt;SPAN style="color: #6a8759;"&gt;" stops"&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;          if &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;ptStopList.size&lt;SPAN style="color: #9876aa;"&gt;() &lt;/SPAN&gt;&amp;gt; &lt;SPAN style="color: #6897bb;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;            &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;for &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;int &lt;/SPAN&gt;i = &lt;SPAN style="color: #6897bb;"&gt;0&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;; &lt;/SPAN&gt;i &amp;lt; ptStopList.size&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;; &lt;/SPAN&gt;i++&lt;SPAN style="color: #9876aa;"&gt;) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(STOP_NAME&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #9876aa;"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(STOP_ID&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #9876aa;"&gt;Id&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(STATELESS&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #9876aa;"&gt;Stateless&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(STOP_DISPLAY_ID&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.&lt;SPAN style="color: #9876aa;"&gt;DisplayId&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(LAT&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.getLocation&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.getX&lt;SPAN style="color: #9876aa;"&gt;())&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(LON&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.getLocation&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.getY&lt;SPAN style="color: #9876aa;"&gt;())&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;.put&lt;SPAN style="color: #9876aa;"&gt;(OVERLAY_TYPE&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;BUS_STOPS_OVERLAY)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;Point graphicPoint =
                      &lt;SPAN style="color: #cc7832;"&gt;new &lt;/SPAN&gt;Point&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.getLocation&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.getX&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;ptStopList.get&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;i&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;.getLocation&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.getY&lt;SPAN style="color: #9876aa;"&gt;())&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;Graphic stopGraphic =
                      &lt;SPAN style="color: #cc7832;"&gt;new &lt;/SPAN&gt;Graphic&lt;SPAN style="color: #9876aa;"&gt;(
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;                              &lt;/SPAN&gt;graphicPoint&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;                              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopHashMap&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;,
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;                              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;busStopSymbol&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;              &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;mBusStopsGraphicsOverlay&lt;/SPAN&gt;.getGraphics&lt;SPAN style="color: #9876aa;"&gt;()&lt;/SPAN&gt;.add&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;stopGraphic&lt;SPAN style="color: #9876aa;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;            &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;}
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;          }
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;        }
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;@Override
&lt;/SPAN&gt;&lt;SPAN style="color: #bbb529;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;public void &lt;/SPAN&gt;&lt;SPAN style="color: #ffc66d;"&gt;onFailure&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;String message&lt;SPAN style="color: #9876aa;"&gt;) {
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;          &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;mDisplayUtils&lt;/SPAN&gt;.showToast&lt;SPAN style="color: #9876aa;"&gt;(&lt;/SPAN&gt;message&lt;SPAN style="color: #cc7832;"&gt;, &lt;/SPAN&gt;MapActivity.&lt;SPAN style="color: #cc7832;"&gt;this, &lt;/SPAN&gt;Toast.&lt;SPAN style="color: #9876aa;"&gt;LENGTH_SHORT)&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;        &lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;}
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;      })&lt;/SPAN&gt;&lt;SPAN style="color: #cc7832;"&gt;;
&lt;/SPAN&gt;&lt;SPAN style="color: #9876aa;"&gt;}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please do provide a solution, as we cannot release the app with this bug&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;we have official license for SDK and Arc Pro products,its also possible for us to request a official help if required..please direct.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 22:43:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/map-perfomance-issue-while-loading-graphic-overlay/m-p/70919#M517</guid>
      <dc:creator>AsifIsmail</dc:creator>
      <dc:date>2021-12-10T22:43:39Z</dc:date>
    </item>
  </channel>
</rss>

