<?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 Re: Performance Issues on Esri Android SDK in ArcGIS Runtime SDK for Android Questions</title>
    <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/performance-issues-on-esri-android-sdk/m-p/666184#M4614</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, look forward to your metrics.&amp;nbsp; Concerning APK size, unfortunately there isn't much you can do about the size of the APK currently.&amp;nbsp; We are looking into modularizing the SDK in future releases.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 26 Jun 2015 17:29:43 GMT</pubDate>
    <dc:creator>DanO_Neill</dc:creator>
    <dc:date>2015-06-26T17:29:43Z</dc:date>
    <item>
      <title>Performance Issues on Esri Android SDK</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/performance-issues-on-esri-android-sdk/m-p/666181#M4611</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We're developing Esri Android SDK and Esri iOS SDK based apps. Using some functionality and using some code blocks. But at the Esri Android SDK based side, app is working slowly. We use same internet connection, same ArcGIS server and same approach to develop mobile app. But android app works like disappointment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In order to show you this issue we created new project. It contains 1 basemap (ArcGISTiledMapServiceLayer) and 2 button and 1 layer, when we click the button one app is adding layer when we click button 2 app removelayer,&amp;nbsp; when considering&amp;nbsp; even this simple app iOS side work faster 2 or 3 times than android.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'll give simple code blocks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H1 id="toc-hId-1961332341"&gt;&lt;STRONG&gt;Android side ; &lt;/STRONG&gt;&lt;/H1&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;public class MapMainFragment extends Fragment {
&lt;SPAN class="kd"&gt;private&lt;/SPAN&gt; &lt;SPAN class="kd"&gt;static&lt;/SPAN&gt; &lt;SPAN class="n"&gt;MapView&lt;/SPAN&gt; &lt;SPAN class="n"&gt;mMapView&lt;/SPAN&gt; &lt;SPAN class="o"&gt;=&lt;/SPAN&gt; &lt;SPAN class="kc"&gt;null&lt;/SPAN&gt;&lt;SPAN class="o"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="o"&gt;&lt;SPAN class="kd"&gt;public&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;SPAN class="o"&gt;&lt;SPAN class="n"&gt;ArcGISDynamicMapServiceLayer&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="o"&gt; &lt;SPAN class="n"&gt;mDynamicLayer&lt;/SPAN&gt;&lt;SPAN class="o"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="o"&gt;Button &lt;/SPAN&gt;&lt;SPAN class="o"&gt;mButtonAdd, mButtonRemove;&lt;/SPAN&gt;&lt;SPAN class="o"&gt;&lt;/SPAN&gt;

&lt;SPAN class="nd"&gt;@Override&lt;/SPAN&gt;
&lt;SPAN class="nd"&gt;&lt;/SPAN&gt;&lt;SPAN class="kd"&gt;public&lt;/SPAN&gt; &lt;SPAN class="n"&gt;View&lt;/SPAN&gt; &lt;SPAN class="nf" style="color: #990000;"&gt;onCreateView&lt;/SPAN&gt;&lt;SPAN class="o"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;LayoutInflater&lt;/SPAN&gt; &lt;SPAN class="n"&gt;inflater&lt;/SPAN&gt;&lt;SPAN class="o"&gt;,&lt;/SPAN&gt; &lt;SPAN class="n"&gt;ViewGroup&lt;/SPAN&gt; &lt;SPAN class="n"&gt;container&lt;/SPAN&gt;&lt;SPAN class="o"&gt;,&lt;/SPAN&gt;
&lt;SPAN style="line-height: 1.5;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;Bundle&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;savedInstanceState&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;{&lt;/SPAN&gt;
&lt;SPAN style="line-height: 1.5;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="kd" style="line-height: 1.5;"&gt;final&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;View&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;rootView&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;inflater&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;.&lt;/SPAN&gt;&lt;SPAN class="na" style="line-height: 1.5; color: #008080;"&gt;inflate&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;R&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;.&lt;/SPAN&gt;&lt;SPAN class="na" style="line-height: 1.5; color: #008080;"&gt;layout&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;.&lt;/SPAN&gt;&lt;SPAN class="na" style="line-height: 1.5; color: #008080;"&gt;fragment_main_map&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;container&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="kc" style="line-height: 1.5;"&gt;false&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;);&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;
&lt;SPAN class="n" style="line-height: 1.5;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mMapView&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;MapView&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;rootView&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;.&lt;/SPAN&gt;&lt;SPAN class="na" style="line-height: 1.5; color: #008080;"&gt;findViewById&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;R&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;.&lt;/SPAN&gt;&lt;SPAN class="na" style="line-height: 1.5; color: #008080;"&gt;id&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;.&lt;/SPAN&gt;&lt;SPAN class="na" style="line-height: 1.5; color: #008080;"&gt;map&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;);&lt;/SPAN&gt;&lt;SPAN class="o"&gt;&lt;/SPAN&gt;
&lt;SPAN class="o" style="line-height: 1.5;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mButtonAdd = (Button) rootview.findViewById(R.id.buttonadd);&lt;/SPAN&gt;
&lt;SPAN class="o" style="line-height: 1.5;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mButtonDelete = (Button) rootview.findViewById(R.id.buttonremove;&lt;/SPAN&gt;
&lt;SPAN class="n"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mMapView&lt;/SPAN&gt;&lt;SPAN class="o"&gt;.&lt;/SPAN&gt;&lt;SPAN class="na" style="color: #008080;"&gt;addLayer&lt;/SPAN&gt;&lt;SPAN class="o"&gt;(&lt;/SPAN&gt;&lt;SPAN class="k"&gt;new&lt;/SPAN&gt; &lt;SPAN class="n"&gt;ArcGISTiledMapServiceLayer&lt;/SPAN&gt;&lt;SPAN class="o"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;getString&lt;/SPAN&gt;&lt;SPAN class="o"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;R&lt;/SPAN&gt;&lt;SPAN class="o"&gt;.&lt;/SPAN&gt;&lt;SPAN class="na" style="color: #008080;"&gt;string&lt;/SPAN&gt;&lt;SPAN class="o"&gt;.&lt;/SPAN&gt;&lt;SPAN class="na" style="color: #008080;"&gt;citymap_url&lt;/SPAN&gt;&lt;SPAN class="o"&gt;)),&lt;/SPAN&gt; &lt;SPAN class="mi" style="color: #009999;"&gt;0&lt;/SPAN&gt;&lt;SPAN class="o"&gt;);&lt;/SPAN&gt;
&lt;SPAN class="o"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mDynamicLayer = new ArcGISDynamicMapServiceLayer(&lt;SPAN class="n"&gt;getString&lt;/SPAN&gt;&lt;SPAN class="o"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;R&lt;/SPAN&gt;&lt;SPAN class="o"&gt;.&lt;/SPAN&gt;&lt;SPAN class="na" style="color: #008080;"&gt;string&lt;/SPAN&gt;&lt;SPAN class="o"&gt;.&lt;/SPAN&gt;&lt;SPAN class="na" style="color: #008080;"&gt;layer_url));&lt;/SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;
&lt;SPAN class="o"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mButtonAdd.&lt;/SPAN&gt;&lt;SPAN class="na" style="color: #008080;"&gt;setOnClickListener&lt;/SPAN&gt;&lt;SPAN class="o"&gt;(&lt;/SPAN&gt;&lt;SPAN class="k"&gt;new&lt;/SPAN&gt; &lt;SPAN class="n"&gt;View&lt;/SPAN&gt;&lt;SPAN class="o"&gt;.&lt;/SPAN&gt;&lt;SPAN class="na" style="color: #008080;"&gt;OnClickListener&lt;/SPAN&gt;&lt;SPAN class="o"&gt;()&lt;/SPAN&gt; &lt;SPAN class="o"&gt;{&lt;/SPAN&gt;
&lt;SPAN class="nd"&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; @Override&lt;/SPAN&gt;
&lt;SPAN style="line-height: 1.5;"&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; &lt;/SPAN&gt;&lt;SPAN class="kd" style="line-height: 1.5;"&gt;public&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="kt" style="line-height: 1.5; color: #445588;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="nf" style="line-height: 1.5; color: #990000;"&gt;onClick&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;View&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;v&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;{&lt;/SPAN&gt;
&lt;SPAN class="o"&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; mMapView.addLayer(mDynamicLayer);&lt;/SPAN&gt;
&lt;SPAN class="o"&gt;&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&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; &lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;});&lt;/SPAN&gt;

&lt;SPAN class="o"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mButtonAdd.&lt;/SPAN&gt;&lt;SPAN class="na" style="color: #008080;"&gt;setOnClickListener&lt;/SPAN&gt;&lt;SPAN class="o"&gt;(&lt;/SPAN&gt;&lt;SPAN class="k"&gt;new&lt;/SPAN&gt; &lt;SPAN class="n"&gt;View&lt;/SPAN&gt;&lt;SPAN class="o"&gt;.&lt;/SPAN&gt;&lt;SPAN class="na" style="color: #008080;"&gt;OnClickListener&lt;/SPAN&gt;&lt;SPAN class="o"&gt;()&lt;/SPAN&gt; &lt;SPAN class="o"&gt;{&lt;/SPAN&gt;
&lt;SPAN class="nd"&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; @Override&lt;/SPAN&gt;
&lt;SPAN style="line-height: 1.5;"&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; &lt;/SPAN&gt;&lt;SPAN class="kd" style="line-height: 1.5;"&gt;public&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="kt" style="line-height: 1.5; color: #445588;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="nf" style="line-height: 1.5; color: #990000;"&gt;onClick&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;View&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;v&lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5;"&gt;{&lt;/SPAN&gt;
&lt;SPAN class="o" style="line-height: 1.5;"&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; mMapView.removeLayer(mDynamicLayer);&lt;/SPAN&gt;

&lt;SPAN class="o"&gt;&lt;/SPAN&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; &lt;SPAN class="o"&gt;});&lt;/SPAN&gt;
}&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;H1 id="toc-hId--590824620"&gt;&lt;SPAN style="color: #3334ca;"&gt;iOS Side;&lt;/SPAN&gt;&lt;/H1&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline; color: #3a0699;"&gt;&lt;STRONG&gt;MainViewController.h&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;SPAN class="err" style="color: #a61717; background-color: #e3d2d2;"&gt;@&lt;/SPAN&gt;&lt;SPAN class="n"&gt;property&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;strong&lt;/SPAN&gt;&lt;SPAN class="p"&gt;,&lt;/SPAN&gt; &lt;SPAN class="n"&gt;nonatomic&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt; &lt;SPAN class="n"&gt;IBOutlet&lt;/SPAN&gt; &lt;SPAN class="n"&gt;AGSMapView&lt;/SPAN&gt; &lt;SPAN class="o" style="font-weight: bold;"&gt;*&lt;/SPAN&gt;&lt;SPAN class="n"&gt;mapView&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt; &lt;SPAN class="c1" style="color: #999988; font-style: italic;"&gt;
&lt;/SPAN&gt;
&lt;SPAN class="o" style="font-weight: bold;"&gt;-&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;IBAction&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt;&lt;SPAN class="nl"&gt;btnZoomAdd:(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;id&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt;&lt;SPAN class="n"&gt;sender&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="o" style="font-weight: bold;"&gt;-&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;IBAction&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt;&lt;SPAN class="nl"&gt;btnZoomRemove:(&lt;/SPAN&gt;&lt;SPAN class="n"&gt;id&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt;&lt;SPAN class="n"&gt;sender&lt;/SPAN&gt;&lt;SPAN class="p"&gt;;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline; color: #3a0699;"&gt;&lt;STRONG&gt;&lt;SPAN class="p"&gt;MainViewController.m&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&lt;SPAN class="k" style="font-weight: bold;"&gt;@interface&lt;/SPAN&gt; &lt;SPAN class="nc" style="color: #445588; font-weight: bold;"&gt;MainViewController&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(){&lt;/SPAN&gt;
&lt;SPAN style="line-height: 1.5;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;AGSTiledMapServiceLayer&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5; font-weight: bold;"&gt;*&lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;baseTiledLayer&lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;;&lt;/SPAN&gt;
&lt;SPAN style="line-height: 1.5;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;AGSDynamicMapServiceLayer&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5; font-weight: bold;"&gt;*&lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;dynamicLayer&lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;}&lt;/SPAN&gt;
&lt;SPAN style="line-height: 1.5;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;baseTiledLayer&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5; font-weight: bold;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;[&lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;AGSTiledMapServiceLayer&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="nl" style="line-height: 1.5;"&gt;tiledMapServiceLayerWithURL&lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;:&lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;baseurl&lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;];&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;
&lt;SPAN class="p" style="line-height: 1.5;"&gt;[&lt;/SPAN&gt;&lt;SPAN class="nb" style="line-height: 1.5; color: #999999;"&gt;self&lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;.&lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;mapView&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="nl" style="line-height: 1.5;"&gt;insertMapLayer&lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;:&lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;baseTiledLayer&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="nl" style="line-height: 1.5;"&gt;withName&lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;:&lt;/SPAN&gt;&lt;SPAN class="s" style="line-height: 1.5; color: #bb8844;"&gt;@"City Map"&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="nl" style="line-height: 1.5;"&gt;atIndex&lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;:&lt;/SPAN&gt;&lt;SPAN class="mi" style="line-height: 1.5; color: #009999;"&gt;0&lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;];&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="n" style="line-height: 1.5;"&gt;activeBaseLayer&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="o" style="line-height: 1.5; font-weight: bold;"&gt;=&lt;/SPAN&gt;&lt;SPAN class="s" style="line-height: 1.5; color: #bb8844;"&gt;@"City Map"&lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="p"&gt; &lt;SPAN class="n"&gt;dynamicLayer&lt;/SPAN&gt; &lt;SPAN class="o" style="font-weight: bold;"&gt;=&lt;/SPAN&gt; &lt;SPAN class="p"&gt;[&lt;/SPAN&gt;&lt;SPAN class="n"&gt;AGSDynamicMapServiceLayer&lt;/SPAN&gt; &lt;SPAN class="nl"&gt;dynamicMapServiceLayerWithURL&lt;/SPAN&gt;&lt;SPAN class="p"&gt;:&lt;/SPAN&gt; &lt;SPAN class="n"&gt;urldynamic&lt;/SPAN&gt;&lt;SPAN class="p"&gt;];&lt;/SPAN&gt;&lt;/SPAN&gt;

&lt;SPAN class="p"&gt;-&lt;/SPAN&gt; &lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="kt" style="color: #445588; font-weight: bold;"&gt;IBAction&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt;&lt;SPAN class="nf" style="color: #990000; font-weight: bold;"&gt;btnZoomIn:&lt;/SPAN&gt;&lt;SPAN class="p"&gt;(&lt;/SPAN&gt;&lt;SPAN class="kt" style="color: #445588; font-weight: bold;"&gt;id&lt;/SPAN&gt;&lt;SPAN class="p"&gt;)&lt;/SPAN&gt;&lt;SPAN class="nv" style="color: #008080;"&gt;sender&lt;/SPAN&gt; &lt;SPAN class="p"&gt;{&lt;/SPAN&gt;
&lt;SPAN class="p" style="line-height: 1.5;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="p"&gt;[&lt;/SPAN&gt;&lt;SPAN class="nb" style="color: #999999;"&gt;self&lt;/SPAN&gt;&lt;SPAN class="p"&gt;.&lt;/SPAN&gt;&lt;SPAN class="n"&gt;mapView&lt;/SPAN&gt; &lt;SPAN class="nl"&gt;addMapLayer&lt;/SPAN&gt;&lt;SPAN class="p"&gt;:&lt;/SPAN&gt;&lt;SPAN class="n"&gt;dynamicLayer&lt;/SPAN&gt; &lt;SPAN class="nl"&gt;withName&lt;/SPAN&gt;&lt;SPAN class="p"&gt;:&lt;/SPAN&gt;&lt;SPAN class="n"&gt;Name&lt;/SPAN&gt;&lt;SPAN class="p"&gt;];&lt;/SPAN&gt;&lt;/SPAN&gt;
&lt;SPAN class="p"&gt;&lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;}&lt;/SPAN&gt;

&lt;SPAN class="p" style="line-height: 1.5;"&gt;-&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;(&lt;/SPAN&gt;&lt;SPAN class="kt" style="line-height: 1.5; color: #445588; font-weight: bold;"&gt;IBAction&lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;)&lt;/SPAN&gt;&lt;SPAN class="nf" style="line-height: 1.5; color: #990000; font-weight: bold;"&gt;btnZoomOut:&lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;(&lt;/SPAN&gt;&lt;SPAN class="kt" style="line-height: 1.5; color: #445588; font-weight: bold;"&gt;id&lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;)&lt;/SPAN&gt;&lt;SPAN class="nv" style="line-height: 1.5; color: #008080;"&gt;sender&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5;"&gt; &lt;/SPAN&gt;&lt;SPAN class="p" style="line-height: 1.5;"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="p"&gt;[&lt;/SPAN&gt;&lt;SPAN class="nb" style="color: #999999;"&gt;self&lt;/SPAN&gt;&lt;SPAN class="p"&gt;.&lt;/SPAN&gt;&lt;SPAN class="n"&gt;mapView&lt;/SPAN&gt; &lt;SPAN class="nl"&gt;removeMapLayerWithName&lt;/SPAN&gt;&lt;SPAN class="p"&gt;:&lt;/SPAN&gt;&lt;SPAN class="n"&gt;Name&lt;/SPAN&gt;&lt;SPAN class="p"&gt;];&lt;/SPAN&gt;
&lt;SPAN class="p"&gt;}&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;As you see in code blocks nothing diffrent from each other but Android side works like a turtle, how Can I handle this situation ? How can I run my android app like a cheetah. I need advices. Thanks for all&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.esri.com/migrated-users/3919" target="_blank"&gt;Dan O'Neill&lt;/A&gt;​,&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.esri.com/migrated-users/63912" target="_blank"&gt;Tero Rönkkö&lt;/A&gt;​&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.esri.com/migrated-users/2602" target="_blank"&gt;Will Crick&lt;/A&gt;​&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 04:09:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/performance-issues-on-esri-android-sdk/m-p/666181#M4611</guid>
      <dc:creator>SalihYalcin</dc:creator>
      <dc:date>2021-12-12T04:09:06Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues on Esri Android SDK</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/performance-issues-on-esri-android-sdk/m-p/666182#M4612</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can you send some performance metrics?&amp;nbsp; Is there a reason you are using Android Fragments in this performance test?&amp;nbsp; Is there a reason you are not extending the &lt;A href="https://github.com/Esri/arcgis-runtime-samples-android/tree/master/HelloWorld"&gt;HelloWorld&lt;/A&gt; sample with your buttons and dynamic service to optimize your testing?&amp;nbsp; What are the service layers you are using?&amp;nbsp; Looking at your current code, you could optimize your event listeners implementation by having one listener for two buttons or using the onClick attribute for each button in your layout xml (assuming you have a typo in the code).&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jun 2015 15:38:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/performance-issues-on-esri-android-sdk/m-p/666182#M4612</guid>
      <dc:creator>DanO_Neill</dc:creator>
      <dc:date>2015-06-26T15:38:37Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues on Esri Android SDK</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/performance-issues-on-esri-android-sdk/m-p/666183#M4613</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you dan I'll give aile real metrics about performance issue. But here week finished. I'll give this information at the monday morning. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyway, I want to ask one more question. Simple Esri Android Sdk based android app that no extra code in it size is about 31 MB. Is there a way to reduce apk size ? Eg. Removing unused classes ? &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jun 2015 16:19:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/performance-issues-on-esri-android-sdk/m-p/666183#M4613</guid>
      <dc:creator>SalihYalcin</dc:creator>
      <dc:date>2015-06-26T16:19:35Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issues on Esri Android SDK</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/performance-issues-on-esri-android-sdk/m-p/666184#M4614</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, look forward to your metrics.&amp;nbsp; Concerning APK size, unfortunately there isn't much you can do about the size of the APK currently.&amp;nbsp; We are looking into modularizing the SDK in future releases.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jun 2015 17:29:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/performance-issues-on-esri-android-sdk/m-p/666184#M4614</guid>
      <dc:creator>DanO_Neill</dc:creator>
      <dc:date>2015-06-26T17:29:43Z</dc:date>
    </item>
  </channel>
</rss>

