<?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: Image of MapView in ArcGIS Runtime SDK for Android Questions</title>
    <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/image-of-mapview/m-p/410590#M2787</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;It has a retry loop because you can get null values when calling getDrawingMapCache. I'm not exactly sure why, and it could very well be device dependent. I noticed it on both 2.3 and 4.x phones. The null value is typically the first try, and then on the second try after waiting a few seconds you should be able to get the cache. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Just a note, in your psuedo-code below, the while loop itself looks like it runs on the UI thread which could cause laggy behavior of the map. You may have already done this in your code, so for other readers the recommended practice is to place while loops inside a Runnable(){public void run(){while...}}. Just a suggestion &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-Andy&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's some references:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Another forum post on &lt;/SPAN&gt;&lt;A href="http://forums.arcgis.com/threads/46792-mapview.getMapDrawingCache%28%29-returns-null"&gt;getDrawingMapCache null values&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://developer.android.com/guide/faq/commontasks.html#threading"&gt;Handling expensive operations on the UI thread&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 01 Feb 2013 15:10:52 GMT</pubDate>
    <dc:creator>AndyGup</dc:creator>
    <dc:date>2013-02-01T15:10:52Z</dc:date>
    <item>
      <title>Image of MapView</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/image-of-mapview/m-p/410587#M2784</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;How do I get an image of the MapView? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a MapView object, with a few graphics layers on it, and I would like to export a .png or some other image format.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there some way to accomplish this?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Jan 2013 12:56:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/image-of-mapview/m-p/410587#M2784</guid>
      <dc:creator>GregMilette</dc:creator>
      <dc:date>2013-01-28T12:56:32Z</dc:date>
    </item>
    <item>
      <title>Re: Image of MapView</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/image-of-mapview/m-p/410588#M2785</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Greg,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Give this a try. It's some test code I wrote that shows how to create an image of the MapView and then store it locally on the device. Note, I've only tested this using the ArcGIS Runtime for Android SDK v10.1.1 and on a 4.0.x device. I'm not 100% certain it will run on a 2.x or 3.x device.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
private void createMapViewImage(){ 

 final Runnable runnable = new Runnable() {
&amp;nbsp; int counter = 0;
&amp;nbsp; 
&amp;nbsp; @Override
&amp;nbsp; public void run() {
&amp;nbsp;&amp;nbsp; counter++;
&amp;nbsp;&amp;nbsp; try{ 
&amp;nbsp;&amp;nbsp;&amp;nbsp; final Handler handler = new Handler(); 
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Use 0, 0 for x/y so that you capture the entire MapView
&amp;nbsp;&amp;nbsp;&amp;nbsp; final Bitmap bitmap = mMapView.getDrawingMapCache(0, 0,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mMapView.getWidth(), mMapView.getHeight());&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.d("TEST", "Map Width = " + mMapView.getWidth() + " Map Height = "
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + mMapView.getHeight());&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; Log.d("TEST","Testing if able to create mapView bitmap. Attempt #" + counter);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(bitmap != null){

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.d("TEST","mapView bitmap has been successfully created.");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; final File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; final File output = new File(dir, "mapview.png");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; final String imagePath = output.getAbsolutePath();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FileOutputStream fileOut;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileOut = new FileOutputStream(output);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitmap.compress(Bitmap.CompressFormat.PNG, 100, fileOut);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileOut.flush();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileOut.close();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitmap.recycle();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }catch(Exception e){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();
&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; handler.post(mUpdateResults);
&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; else if(counter &amp;lt; 5){

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; handler.postDelayed(this, 2000);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; else{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.d("TEST","Unable to create mapView bitmap after 5 attempts.");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; catch(Exception exc){
&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.d("TEST","Unable to create mapView exception: " + exc.toString());
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; }
 };
 
 runnable.run();

}

final Runnable mUpdateResults = new Runnable() {
 
 @Override
 public void run() { 
&amp;nbsp; doSomething();&amp;nbsp; 
 }
};

private void doSomething(){
 final File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM + "/mapview.png");
 //You are now back on the UI thread and have access to the image file .
}
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 18:39:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/image-of-mapview/m-p/410588#M2785</guid>
      <dc:creator>AndyGup</dc:creator>
      <dc:date>2021-12-11T18:39:07Z</dc:date>
    </item>
    <item>
      <title>Re: Image of MapView</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/image-of-mapview/m-p/410589#M2786</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;it worked, Do you know why the code needs to retry in a loop? is getDrawingMapCache asyncronous?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I ended up doing a simple loop with a sleep and screenShotOf contains the actual doing of the screenshot&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int MAX_TRIES = 5;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int tries = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.d(TAG, tries + " screenshot to: " + bitmapPath);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = screenShotOf(v, bitmapPath);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (result == null &amp;amp;&amp;amp; tries &amp;lt; MAX_TRIES)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&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; tries++;&lt;/SPAN&gt;&lt;BR /&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; try&lt;/SPAN&gt;&lt;BR /&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; {&lt;/SPAN&gt;&lt;BR /&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;&amp;nbsp;&amp;nbsp; Thread.sleep(500);&lt;/SPAN&gt;&lt;BR /&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; }&lt;/SPAN&gt;&lt;BR /&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; catch (InterruptedException e)&lt;/SPAN&gt;&lt;BR /&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; {&lt;/SPAN&gt;&lt;BR /&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;&amp;nbsp;&amp;nbsp; Log.d(TAG, "interrupted");&lt;/SPAN&gt;&lt;BR /&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; }&lt;/SPAN&gt;&lt;BR /&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; Log.d(TAG, tries + " screenshot to: " + bitmapPath);&lt;/SPAN&gt;&lt;BR /&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; result = screenShotOf(v, bitmapPath);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Feb 2013 14:29:16 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/image-of-mapview/m-p/410589#M2786</guid>
      <dc:creator>GregMilette</dc:creator>
      <dc:date>2013-02-01T14:29:16Z</dc:date>
    </item>
    <item>
      <title>Re: Image of MapView</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/image-of-mapview/m-p/410590#M2787</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;It has a retry loop because you can get null values when calling getDrawingMapCache. I'm not exactly sure why, and it could very well be device dependent. I noticed it on both 2.3 and 4.x phones. The null value is typically the first try, and then on the second try after waiting a few seconds you should be able to get the cache. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Just a note, in your psuedo-code below, the while loop itself looks like it runs on the UI thread which could cause laggy behavior of the map. You may have already done this in your code, so for other readers the recommended practice is to place while loops inside a Runnable(){public void run(){while...}}. Just a suggestion &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-Andy&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's some references:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Another forum post on &lt;/SPAN&gt;&lt;A href="http://forums.arcgis.com/threads/46792-mapview.getMapDrawingCache%28%29-returns-null"&gt;getDrawingMapCache null values&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://developer.android.com/guide/faq/commontasks.html#threading"&gt;Handling expensive operations on the UI thread&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Feb 2013 15:10:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/image-of-mapview/m-p/410590#M2787</guid>
      <dc:creator>AndyGup</dc:creator>
      <dc:date>2013-02-01T15:10:52Z</dc:date>
    </item>
    <item>
      <title>Re: Image of MapView</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/image-of-mapview/m-p/410591#M2788</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Slightly modified the code above. I noticed that for some reason sometimes the PNG file isn't created properly and it has a size of 0 bytes. So I added a check that verifies the width of the PNG &amp;gt; 0.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
private void createMapViewImage(){ 

 final Runnable runnable = new Runnable() {
&amp;nbsp; int counter = 0;
&amp;nbsp; 
&amp;nbsp; @Override
&amp;nbsp; public void run() {
&amp;nbsp;&amp;nbsp; counter++;
&amp;nbsp;&amp;nbsp; try{ 
&amp;nbsp;&amp;nbsp;&amp;nbsp; final Handler handler = new Handler(); 
&amp;nbsp;&amp;nbsp;&amp;nbsp; //Use 0, 0 for x/y so that you capture the entire MapView
&amp;nbsp;&amp;nbsp;&amp;nbsp; final Bitmap bitmap = mMapView.getDrawingMapCache(0, 0,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mMapView.getWidth(), mMapView.getHeight());&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.d("TEST", "Map Width = " + mMapView.getWidth() + " Map Height = "
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + mMapView.getHeight());&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; Log.d("TEST","Testing if able to create mapView bitmap. Attempt #" + counter);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; if(bitmap != null){

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; final File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; final File output = new File(dir, "mapview.png");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; final String imagePath = output.getAbsolutePath();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FileOutputStream fileOut;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileOut = new FileOutputStream(output);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitmap.compress(Bitmap.CompressFormat.PNG, 100, fileOut);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int w = bitmap.getWidth();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(w &amp;gt; 0){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileOut.flush();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileOut.close();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bitmap.recycle();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; handler.post(mUpdateResults);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.d("TEST","mapView bitmap has been successfully created.");&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; else if(counter &amp;lt; 5){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.d("TEST","PNG didn't create properly so trying again.");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; handler.postDelayed(this, 1000);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.d("TEST","Unable to create PNG.");
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }catch(Exception e){
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.printStackTrace();
&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; else if(counter &amp;lt; 5){

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; handler.postDelayed(this, 2000);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; else{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.d("TEST","Unable to create mapView bitmap after 5 attempts.");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; catch(Exception exc){
&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.d("TEST","Unable to create mapView exception: " + exc.toString());
&amp;nbsp;&amp;nbsp; }
&amp;nbsp; 
&amp;nbsp; }
 };
 
 runnable.run();

}


final Runnable mUpdateResults = new Runnable() {
 
 @Override
 public void run() { 
&amp;nbsp; doSomething();
 }
};

private void doSomething(){
 final File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM + "/mapview.png");
 //TO-DO
}
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 18:39:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/image-of-mapview/m-p/410591#M2788</guid>
      <dc:creator>AndyGup</dc:creator>
      <dc:date>2021-12-11T18:39:10Z</dc:date>
    </item>
    <item>
      <title>Re: Image of MapView</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/image-of-mapview/m-p/410592#M2789</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you, this works for me. However, it takes some time to produce the image. I am trying to perform the operation at a fast rate and it is introducing lag into my application. Is there any way to perform this method of turning the map view into an image so that it does not decrease the performance of my application? As in, it allows other operations to continue while multiple screenshots or generated, etc.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Jul 2019 14:01:53 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/image-of-mapview/m-p/410592#M2789</guid>
      <dc:creator>BlakeEdwards</dc:creator>
      <dc:date>2019-07-01T14:01:53Z</dc:date>
    </item>
    <item>
      <title>Re: Image of MapView</title>
      <link>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/image-of-mapview/m-p/410593#M2790</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Blake, in the latest Android Runtime there is a method you might try:&amp;nbsp;&lt;A class="link-titled" href="https://developers.arcgis.com/android/latest/api-reference/reference/com/esri/arcgisruntime/mapping/view/GeoView.html#exportImageAsync()" title="https://developers.arcgis.com/android/latest/api-reference/reference/com/esri/arcgisruntime/mapping/view/GeoView.html#exportImageAsync()"&gt;GeoView (ArcGIS Runtime SDK for Android 100.5.0)&lt;/A&gt;. FYI, I haven't used the method since I haven't been working on Runtime in quite some time so I won't be able to answer any questions about it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Jul 2019 15:42:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-runtime-sdk-for-android-questions/image-of-mapview/m-p/410593#M2790</guid>
      <dc:creator>AndyGup</dc:creator>
      <dc:date>2019-07-01T15:42:31Z</dc:date>
    </item>
  </channel>
</rss>

