POST
|
I had the idea to use this sample with a mobile map. https://developers.arcgis.com/android/latest/java/sample-code/navigate-route/ I get to the part where I generate a route and then get a strange error that I don't understand. java.util.concurrent.ExecutionException: com.esri.arcgisruntime.ArcGISRuntimeException: Stop "Unnamed (Index = 0)" is unlocated. Stop "Unnamed (Index = 1)" is unlocated. Stop "Unnamed (Index = 2)" is unlocated I have no idea what they mean by unlocated. I think they are located just fine. I gave exact GPS coordinates for these three stops. So is having a "locator" that can have some pretty name for all these location mandatory? What if I don't care if they have pretty names? In create the dataset tutorial, I don't think it even mentions a locator, much less say that they are mandatory for directions. https://pro.arcgis.com/en/pro-app/help/analysis/networks/how-to-create-a-usable-network-dataset.htm
... View more
12-03-2020
09:49 PM
|
0
|
1
|
672
|
POST
|
Why is the SDK calling a pure virtual function? *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** Build fingerprint: 'motorola/griffin/griffin:7.0/MPL24.246-20/21:user/release-keys' Revision: 'p3b0' ABI: 'arm64' pid: 11102, tid: 11102, name: trynavigator.xe >>> com.crittermap.backcountrynavigator.xe <<< signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- Abort message: 'Pure virtual function called!' x0 0000000000000000 x1 0000000000002b5e x2 0000000000000006 x3 0000000000000008 x4 ffffffffffffffff x5 8080800000000000 x6 0000000000808080 x7 fefeff2063646b6b x8 0000000000000083 x9 ffffffffffffffdf x10 0000000000000000 x11 0000000000000001 x12 ffffffffffffffff x13 0000000000000000 x14 0000000000000000 x15 00393a1930759689 x16 000000746a02eee0 x17 0000007469fd88f0 x18 00000000ffffffff x19 000000746cfb5b40 x20 0000000000000006 x21 000000746cfb5a98 x22 000000000000000b x23 0000007fc585e160 x24 0000007fc585e040 x25 0000007fc585e080 x26 0000007469096a98 x27 85cf50b08710ea61 x28 0000000000000001 x29 0000007fc585df50 x30 0000007469fd5d98 sp 0000007fc585df30 pc 0000007469fd88f8 pstate 0000000060000000 backtrace: #00 pc 000000000006b8f8 /system/lib64/libc.so (tgkill+8) #01 pc 0000000000068d94 /system/lib64/libc.so (pthread_kill+64) #02 pc 0000000000024090 /system/lib64/libc.so (raise+24) #03 pc 000000000001cb14 /system/lib64/libc.so (abort+52) #04 pc 00000000000a01bc /data/app/com.crittermap.backcountrynavigator.xe-1/lib/arm64/libc++_shared.so #05 pc 00000000000b5968 /data/app/com.crittermap.backcountrynavigator.xe-1/lib/arm64/libc++_shared.so (__cxa_pure_virtual+16) #06 pc 0000000002092000 /data/app/com.crittermap.backcountrynavigator.xe-1/lib/arm64/libruntimecore.so (offset 0x1d50000) #07 pc 0000000001f19cf0 /data/app/com.crittermap.backcountrynavigator.xe-1/lib/arm64/libruntimecore.so (offset 0x1d50000) (RT_MapView_getRotation+20) #08 pc 00000000001f782c /data/app/com.crittermap.backcountrynavigator.xe-1/lib/arm64/libruntimecore_java.so (offset 0x1b0000) (Java_com_esri_arcgisruntime_internal_jni_CoreMapView_nativeGetRotation+28) #09 pc 0000000000e75f34 /data/app/com.crittermap.backcountrynavigator.xe-1/oat/arm64/base.odex (offset 0xe2b000) I have not been able to reproduce this. But Google Playstore's automated test catches ones of these EVERY time.
... View more
10-09-2020
04:04 PM
|
0
|
1
|
796
|
POST
|
I have mostly seen this when debuggging. However end users are seeing it with a release build, mostly on Galaxy Tab 2019 tablets. Using Proguard to reduce number of classes doesn't seem to help. App spontaneously dies without human interaction. Just displaying a map, or displaying Locationdisplay.
... View more
04-14-2020
10:41 PM
|
1
|
0
|
2944
|
POST
|
I am seeing even more. 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] JNI ERROR (app bug): weak global reference table overflow (max=51200) 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] weak global reference table dump: 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] Last 10 entries (of 51200): 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 51199: 0x157c0020 java.lang.Thread 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 51198: 0x15780020 java.lang.Thread 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 51197: 0x15740020 java.lang.Thread 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 51196: 0x15700020 java.lang.Thread 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 51195: 0x156c0020 java.lang.Thread 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 51194: 0x15680020 java.lang.Thread 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 51193: 0x15640020 java.lang.Thread 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 51192: 0x15600020 java.lang.Thread 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 51191: 0x155c0020 java.lang.Thread 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 51190: 0x15580020 java.lang.Thread 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] Summary: 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 10576 of java.lang.Class (10575 unique instances) 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 268 of java.lang.Thread (268 unique instances) 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 36 of java.lang.DexCache (36 unique instances) 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 27 of com.esri.arcgisruntime.internal.jni.CoreArcGISVectorTiledLayer (9 unique instances) 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 10 of com.esri.arcgisruntime.internal.jni.CoreVector (10 unique instances) 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 9 of com.esri.arcgisruntime.internal.jni.CoreMapView (1 unique instances) 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 9 of com.esri.arcgisruntime.internal.jni.CorePictureMarkerSymbol (3 unique instances) 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 8 of dalvik.system.PathClassLoader (2 unique instances) 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 5 of com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1 (5 unique instances) 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 4 of com.esri.arcgisruntime.internal.jni.CoreMap (1 unique instances) 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 3 of com.esri.arcgisruntime.internal.jni.CoreFeatureCollection (1 unique instances) 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 3 of com.esri.arcgisruntime.internal.jni.CoreBasemap (1 unique instances) 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 3 of com.esri.arcgisruntime.internal.jni.CoreLocatorTask (1 unique instances) 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 3 of com.esri.arcgisruntime.internal.jni.CoreLocationDisplay (1 unique instances) 2020-04-09 22:10:58.901 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 3 of com.esri.arcgisruntime.internal.jni.CoreTask (3 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 3 of android.os.HandlerThread (3 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 2 of com.esri.arcgisruntime.internal.jni.CoreLocationDataSource (1 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 2 of com.esri.arcgisruntime.internal.jni.CorePlatformHelpersProvider (1 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 2 of androidx.fragment.app.FragmentManagerImpl (2 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 2 of java.lang.String (2 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 2 of java.lang.ThreadGroup (2 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of com.raizlabs.android.dbflow.structure.database.transaction.DefaultTransactionQueue 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of android.opengl.GLSurfaceView$GLThread 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of android.opengl.GLSurfaceView 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of com.crittermap.backcountrynavigator.xe.ui.home.BCHomeActivity 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of androidx.fragment.app.Fragment$AnimationInfo 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of androidx.fragment.app.FragmentActivity$HostCallbacks 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of androidx.lifecycle.LifecycleRegistry 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of com.google.android.gms.measurement.internal.zzfg 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of androidx.lifecycle.ViewModelStore 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of androidx.lifecycle.MutableLiveData 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of com.crittermap.backcountrynavigator.xe.ui.home.fragment.BCQuickAccessFragment 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of com.crittermap.backcountrynavigator.xe.ui.home.fragment.BCQuickAccessFragment$1 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of java.lang.BootClassLoader 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of java.util.TimerThread 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of android.widget.FrameLayout 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of android.app.SharedPreferencesImpl$1 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of android.view.ViewRootImpl$ViewRootHandler 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 1 of com.android.internal.os.RuntimeInit$MethodAndArgsCaller 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: indirect_reference_table.cc:349] 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:542] Runtime aborting... 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:542] 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] JNI ERROR (app bug): weak global reference table overflow (max=51200) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] weak global reference table dump: 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] Last 10 entries (of 51200): 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 51199: 0x157c0020 java.lang.Thread 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 51198: 0x15780020 java.lang.Thread 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 51197: 0x15740020 java.lang.Thread 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 51196: 0x15700020 java.lang.Thread 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 51195: 0x156c0020 java.lang.Thread 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 51194: 0x15680020 java.lang.Thread 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 51193: 0x15640020 java.lang.Thread 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 51192: 0x15600020 java.lang.Thread 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 51191: 0x155c0020 java.lang.Thread 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 51190: 0x15580020 java.lang.Thread 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] Summary: 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 10576 of java.lang.Class (10575 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 268 of java.lang.Thread (268 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 36 of java.lang.DexCache (36 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 27 of com.esri.arcgisruntime.internal.jni.CoreArcGISVectorTiledLayer (9 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 10 of com.esri.arcgisruntime.internal.jni.CoreVector (10 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 9 of com.esri.arcgisruntime.internal.jni.CoreMapView (1 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 9 of com.esri.arcgisruntime.internal.jni.CorePictureMarkerSymbol (3 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 8 of dalvik.system.PathClassLoader (2 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 5 of com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1 (5 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 4 of com.esri.arcgisruntime.internal.jni.CoreMap (1 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 3 of com.esri.arcgisruntime.internal.jni.CoreFeatureCollection (1 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 3 of com.esri.arcgisruntime.internal.jni.CoreBasemap (1 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 3 of com.esri.arcgisruntime.internal.jni.CoreLocatorTask (1 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 3 of com.esri.arcgisruntime.internal.jni.CoreLocationDisplay (1 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 3 of com.esri.arcgisruntime.internal.jni.CoreTask (3 unique instances) 2020-04-09 22:10:58.902 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 3 of android.os.HandlerThread (3 unique instances) 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 2 of com.esri.arcgisruntime.internal.jni.CoreLocationDataSource (1 unique instances) 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 2 of com.esri.arcgisruntime.internal.jni.CorePlatformHelpersProvider (1 unique instances) 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 2 of androidx.fragment.app.FragmentManagerImpl (2 unique instances) 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 2 of java.lang.String (2 unique instances) 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 2 of java.lang.ThreadGroup (2 unique instances) 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of com.raizlabs.android.dbflow.structure.database.transaction.DefaultTransactionQueue 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of android.opengl.GLSurfaceView$GLThread 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of android.opengl.GLSurfaceView 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of com.crittermap.backcountrynavigator.xe.ui.home.BCHomeActivity 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of androidx.fragment.app.Fragment$AnimationInfo 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of androidx.fragment.app.FragmentActivity$HostCallbacks 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of androidx.lifecycle.LifecycleRegistry 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of com.google.android.gms.measurement.internal.zzfg 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of androidx.lifecycle.ViewModelStore 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of androidx.lifecycle.MutableLiveData 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of com.crittermap.backcountrynavigator.xe.ui.home.fragment.BCQuickAccessFragment 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of com.crittermap.backcountrynavigator.xe.ui.home.fragment.BCQuickAccessFragment$1 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of java.lang.BootClassLoader 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of java.util.TimerThread 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of android.widget.FrameLayout 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of android.app.SharedPreferencesImpl$1 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of android.view.ViewRootImpl$ViewRootHandler 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 1 of com.android.internal.os.RuntimeInit$MethodAndArgsCaller 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 2020-04-09 22:10:58.904 com.crittermap.backcountrynavigator.xe A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 901 (RTC thread), pid 594 (trynavigator.xe) 2020-04-09 22:10:58.903 com.crittermap.backcountrynavigator.xe A/zygote: runtime.cc:550] 2020-04-09 22:10:59.093 ? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 2020-04-09 22:10:59.093 ? A/DEBUG: Build fingerprint: 'samsung/gtanotexlwifikx/gtanotexlwifikx:8.1.0/M1AJQ/P580UEU1CRK2:user/release-keys' 2020-04-09 22:10:59.093 ? A/DEBUG: Revision: '2' 2020-04-09 22:10:59.093 ? A/DEBUG: ABI: 'arm' 2020-04-09 22:10:59.093 ? A/DEBUG: pid: 594, tid: 901, name: RTC thread >>> com.crittermap.backcountrynavigator.xe <<< 2020-04-09 22:10:59.093 ? A/DEBUG: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr -------- 2020-04-09 22:10:59.103 ? A/DEBUG: Abort message: 'indirect_reference_table.cc:349] JNI ERROR (app bug): weak global reference table overflow (max=51200)' 2020-04-09 22:10:59.103 ? A/DEBUG: r0 00000000 r1 00000385 r2 00000006 r3 00000008 2020-04-09 22:10:59.103 ? A/DEBUG: r4 00000252 r5 00000385 r6 bafff19c r7 0000010c 2020-04-09 22:10:59.103 ? A/DEBUG: r8 00000000 r9 bafff1e9 sl 0000000a fp bafff1e8 2020-04-09 22:10:59.103 ? A/DEBUG: ip c0842d20 sp bafff188 lr e56f0e6f pc e56ea528 cpsr 20070030 2020-04-09 22:10:59.151 ? A/DEBUG: backtrace: 2020-04-09 22:10:59.151 ? A/DEBUG: #00 pc 0001a528 /system/lib/libc.so (abort+63) 2020-04-09 22:10:59.151 ? A/DEBUG: #01 pc 00365cd3 /system/lib/libart.so (art::Runtime::Abort(char const*)+402) 2020-04-09 22:10:59.151 ? A/DEBUG: #02 pc 004276e7 /system/lib/libart.so (android::base::LogMessage::~LogMessage()+454) 2020-04-09 22:10:59.151 ? A/DEBUG: #03 pc 001d9e31 /system/lib/libart.so (art::IndirectReferenceTable::Add(art::IRTSegmentState, art::ObjPtr<art::mirror::Object>)+692) 2020-04-09 22:10:59.151 ? A/DEBUG: #04 pc 00251f8d /system/lib/libart.so (art::JavaVMExt::AddWeakGlobalRef(art::Thread*, art::ObjPtr<art::mirror::Object>)+36) 2020-04-09 22:10:59.151 ? A/DEBUG: #05 pc 002b7af3 /system/lib/libart.so (art::JNI::NewWeakGlobalRef(_JNIEnv*, _jobject*)+386) 2020-04-09 22:10:59.151 ? A/DEBUG: #06 pc 000d7d5f /system/lib/libart.so (art::CheckJNI::NewRef(char const*, _JNIEnv*, _jobject*, art::IndirectRefKind)+498) 2020-04-09 22:10:59.151 ? A/DEBUG: #07 pc 0026509f /system/lib/libart.so (_ZN3art14ObjectRegistry11InternalAddINS_6mirror6ObjectEEEyNS_6HandleIT_EE+774) 2020-04-09 22:10:59.151 ? A/DEBUG: #08 pc 00265479 /system/lib/libart.so (art::ObjectRegistry::AddRefType(art::ObjPtr<art::mirror::Class>)+80) 2020-04-09 22:10:59.151 ? A/DEBUG: #09 pc 0012c3f5 /system/lib/libart.so (art::Dbg::GetThreadId(art::Thread*)+400) 2020-04-09 22:10:59.151 ? A/DEBUG: #10 pc 00259f49 /system/lib/libart.so (art::JDWP::JdwpState::PostThreadChange(art::Thread*, bool)+516) 2020-04-09 22:10:59.151 ? A/DEBUG: #11 pc 0013a9f3 /system/lib/libart.so (art::Dbg::DbgThreadLifecycleCallback::ThreadStart(art::Thread*)+22) 2020-04-09 22:10:59.151 ? A/DEBUG: #12 pc 003716eb /system/lib/libart.so (art::RuntimeCallbacks::ThreadStart(art::Thread*)+22) 2020-04-09 22:10:59.151 ? A/DEBUG: #13 pc 00381659 /system/lib/libart.so (art::Thread::Attach(char const*, bool, _jobject*, bool)+1300) 2020-04-09 22:10:59.151 ? A/DEBUG: #14 pc 00365673 /system/lib/libart.so (art::Runtime::AttachCurrentThread(char const*, bool, _jobject*, bool)+50) 2020-04-09 22:10:59.151 ? A/DEBUG: #15 pc 00255c07 /system/lib/libart.so (art::JII::AttachCurrentThreadInternal(_JavaVM*, _JNIEnv**, void*, bool)+206) 2020-04-09 22:10:59.151 ? A/DEBUG: #16 pc 000e094f /system/lib/libart.so (art::CheckJII::AttachCurrentThread(_JavaVM*, _JNIEnv**, void*)+74) 2020-04-09 22:10:59.151 ? A/DEBUG: #17 pc 0012a08f /data/app/com.crittermap.backcountrynavigator.xe-G6gp9G9yGpa9ohGz1dCEZQ==/lib/arm/libruntimecore_java.so (offset 0x12a000) 2020-04-09 22:10:59.151 ? A/DEBUG: #18 pc 0012aa4d /data/app/com.crittermap.backcountrynavigator.xe-G6gp9G9yGpa9ohGz1dCEZQ==/lib/arm/libruntimecore_java.so (offset 0x12a000) 2020-04-09 22:10:59.151 ? A/DEBUG: #19 pc 01ec327d /data/app/com.crittermap.backcountrynavigator.xe-G6gp9G9yGpa9ohGz1dCEZQ==/lib/arm/libruntimecore.so (offset 0x10cf000) 2020-04-09 22:10:59.152 ? A/DEBUG: #20 pc 010da393 /data/app/com.crittermap.backcountrynavigator.xe-G6gp9G9yGpa9ohGz1dCEZQ==/lib/arm/libruntimecore.so (offset 0x10cf000) 2020-04-09 22:10:59.152 ? A/DEBUG: #21 pc 012f0a1b /data/app/com.crittermap.backcountrynavigator.xe-G6gp9G9yGpa9ohGz1dCEZQ==/lib/arm/libruntimecore.so (offset 0x10cf000) 2020-04-09 22:10:59.152 ? A/DEBUG: #22 pc 012ecce7 /data/app/com.crittermap.backcountrynavigator.xe-G6gp9G9yGpa9ohGz1dCEZQ==/lib/arm/libruntimecore.so (offset 0x10cf000) 2020-04-09 22:10:59.152 ? A/DEBUG: #23 pc 012a3611 /data/app/com.crittermap.backcountrynavigator.xe-G6gp9G9yGpa9ohGz1dCEZQ==/lib/arm/libruntimecore.so (offset 0x10cf000) 2020-04-09 22:10:59.152 ? A/DEBUG: #24 pc 01a5e43d /data/app/com.crittermap.backcountrynavigator.xe-G6gp9G9yGpa9ohGz1dCEZQ==/lib/arm/libruntimecore.so (offset 0x10cf000) 2020-04-09 22:10:59.152 ? A/DEBUG: #25 pc 01a6e351 /data/app/com.crittermap.backcountrynavigator.xe-G6gp9G9yGpa9ohGz1dCEZQ==/lib/arm/libruntimecore.so (offset 0x10cf000) 2020-04-09 22:10:59.152 ? A/DEBUG: #26 pc 01ecdeb1 /data/app/com.crittermap.backcountrynavigator.xe-G6gp9G9yGpa9ohGz1dCEZQ==/lib/arm/libruntimecore.so (offset 0x10cf000) 2020-04-09 22:10:59.152 ? A/DEBUG: #27 pc 01ece8ff /data/app/com.crittermap.backcountrynavigator.xe-G6gp9G9yGpa9ohGz1dCEZQ==/lib/arm/libruntimecore.so (offset 0x10cf000) 2020-04-09 22:10:59.152 ? A/DEBUG: #28 pc 00048811 /system/lib/libc.so (__pthread_start(void*)+24) 2020-04-09 22:10:59.152 ? A/DEBUG: #29 pc 0001b369 /system/lib/libc.so (__start_thread+32) A/zygote: indirect_reference_table.cc:349] JNI ERROR (app bug): weak global reference table overflow (max=51200) indirect_reference_table.cc:349] weak global reference table dump: indirect_reference_table.cc:349] Last 10 entries (of 51200): indirect_reference_table.cc:349] 51199: 0x14480020 java.lang.Thread indirect_reference_table.cc:349] 51198: 0x14440020 java.lang.Thread indirect_reference_table.cc:349] 51197: 0x14400020 java.lang.Thread indirect_reference_table.cc:349] 51196: 0x143c0020 java.lang.Thread indirect_reference_table.cc:349] 51195: 0x14380020 java.lang.Thread indirect_reference_table.cc:349] 51194: 0x14340020 java.lang.Thread indirect_reference_table.cc:349] 51193: 0x14300020 java.lang.Thread indirect_reference_table.cc:349] 51192: 0x142c0020 java.lang.Thread indirect_reference_table.cc:349] 51191: 0x14280020 java.lang.Thread indirect_reference_table.cc:349] 51190: 0x14240020 java.lang.Thread indirect_reference_table.cc:349] Summary: indirect_reference_table.cc:349] 10410 of java.lang.Class (10409 unique instances) indirect_reference_table.cc:349] 126 of java.lang.Thread (126 unique instances) indirect_reference_table.cc:349] 35 of java.lang.DexCache (35 unique instances) indirect_reference_table.cc:349] 12 of com.esri.arcgisruntime.internal.jni.CoreArcGISVectorTiledLayer (4 unique instances) indirect_reference_table.cc:349] 9 of com.esri.arcgisruntime.internal.jni.CoreMapView (1 unique instances) indirect_reference_table.cc:349] 9 of com.esri.arcgisruntime.internal.jni.CorePictureMarkerSymbol (3 unique instances) indirect_reference_table.cc:349] 9 of com.esri.arcgisruntime.internal.jni.CoreVector (9 unique instances) indirect_reference_table.cc:349] 8 of dalvik.system.PathClassLoader (2 unique instances) indirect_reference_table.cc:349] 4 of com.esri.arcgisruntime.internal.jni.CoreMap (1 unique instances) indirect_reference_table.cc:349] 3 of com.esri.arcgisruntime.internal.jni.CoreBasemap (1 unique instances) indirect_reference_table.cc:349] 3 of com.esri.arcgisruntime.internal.jni.CoreLocatorTask (1 unique instances) indirect_reference_table.cc:349] 3 of com.esri.arcgisruntime.internal.jni.CoreLocationDisplay (1 unique instances) indirect_reference_table.cc:349] 3 of com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1 (3 unique instances) indirect_reference_table.cc:349] 3 of android.os.HandlerThread (3 unique instances) indirect_reference_table.cc:349] 2 of com.esri.arcgisruntime.internal.jni.CoreLocationDataSource (1 unique instances) indirect_reference_table.cc:349] 2 of com.esri.arcgisruntime.internal.jni.CorePlatformHelpersProvider (1 unique instances) indirect_reference_table.cc:349] 1 of com.raizlabs.android.dbflow.structure.database.transaction.DefaultTransactionQueue indirect_reference_table.cc:349] 1 of android.opengl.GLSurfaceView$GLThread indirect_reference_table.cc:349] 1 of android.opengl.GLSurfaceView indirect_reference_table.cc:349] 1 of java.lang.BootClassLoader indirect_reference_table.cc:349] 1 of java.lang.ThreadGroup indirect_reference_table.cc:349] 1 of java.util.TimerThread indirect_reference_table.cc:349] runtime.cc:542] Runtime aborting... runtime.cc:542] runtime.cc:550] JNI ERROR (app bug): weak global reference table overflow (max=51200) runtime.cc:550] weak global reference table dump: runtime.cc:550] Last 10 entries (of 51200): runtime.cc:550] 51199: 0x14480020 java.lang.Thread A/zygote: runtime.cc:550] 51198: 0x14440020 java.lang.Thread runtime.cc:550] 51197: 0x14400020 java.lang.Thread runtime.cc:550] 51196: 0x143c0020 java.lang.Thread runtime.cc:550] 51195: 0x14380020 java.lang.Thread runtime.cc:550] 51194: 0x14340020 java.lang.Thread runtime.cc:550] 51193: 0x14300020 java.lang.Thread runtime.cc:550] 51192: 0x142c0020 java.lang.Thread runtime.cc:550] 51191: 0x14280020 java.lang.Thread runtime.cc:550] 51190: 0x14240020 java.lang.Thread runtime.cc:550] Summary: runtime.cc:550] 10410 of java.lang.Class (10409 unique instances) runtime.cc:550] 126 of java.lang.Thread (126 unique instances) runtime.cc:550] 35 of java.lang.DexCache (35 unique instances) runtime.cc:550] 12 of com.esri.arcgisruntime.internal.jni.CoreArcGISVectorTiledLayer (4 unique instances) runtime.cc:550] 9 of com.esri.arcgisruntime.internal.jni.CoreMapView (1 unique instances) runtime.cc:550] 9 of com.esri.arcgisruntime.internal.jni.CorePictureMarkerSymbol (3 unique instances) runtime.cc:550] 9 of com.esri.arcgisruntime.internal.jni.CoreVector (9 unique instances) runtime.cc:550] 8 of dalvik.system.PathClassLoader (2 unique instances) runtime.cc:550] 4 of com.esri.arcgisruntime.internal.jni.CoreMap (1 unique instances) runtime.cc:550] 3 of com.esri.arcgisruntime.internal.jni.CoreBasemap (1 unique instances) runtime.cc:550] 3 of com.esri.arcgisruntime.internal.jni.CoreLocatorTask (1 unique instances) runtime.cc:550] 3 of com.esri.arcgisruntime.internal.jni.CoreLocationDisplay (1 unique instances) runtime.cc:550] 3 of com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1 (3 unique instances) runtime.cc:550] 3 of android.os.HandlerThread (3 unique instances) runtime.cc:550] 2 of com.esri.arcgisruntime.internal.jni.CoreLocationDataSource (1 unique instances) runtime.cc:550] 2 of com.esri.arcgisruntime.internal.jni.CorePlatformHelpersProvider (1 unique instances) runtime.cc:550] 1 of com.raizlabs.android.dbflow.structure.database.transaction.DefaultTransactionQueue runtime.cc:550] 1 of android.opengl.GLSurfaceView$GLThread runtime.cc:550] 1 of android.opengl.GLSurfaceView runtime.cc:550] 1 of java.lang.BootClassLoader runtime.cc:550] 1 of java.lang.ThreadGroup runtime.cc:550] 1 of java.util.TimerThread runtime.cc:550] A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 1013 (RTC thread), pid 531 (trynavigator.xe) A/zygote: runtime.cc:550]
... View more
04-14-2020
08:54 PM
|
0
|
1
|
2944
|
POST
|
Yes, I do believe the accuracy of the locations that I and customers are receiving makes a difference. I don't have any control over what that accuracy is and whether the reported accuracy is actually real or bogus. I am all in favor of filtering, and in fact the dots you see are filtered using a Kalman filter. Do you know the reasoning behind that filter? Is this a mathematically proven way to do so? Has it proven to be helpful and user friendly? End users are simply seeing it as a bug. But I take it I have to reinvent the wheel with a LocationDataSource if I don't want this filtering?
... View more
03-13-2020
10:07 AM
|
0
|
0
|
2099
|
POST
|
I am putting the most time into trying to discover whether a Mapview is called after it is disposed. There is evidence that some of this is happening after onDestroy. However, the following is happening after onDestroy and it is not in my code: Fatal Exception: com.esri.arcgisruntime.ArcGISRuntimeException: Invalid argument at com.esri.arcgisruntime.internal.jni.CoreMapView.nativeInteractionDrag(SourceFile) at com.esri.arcgisruntime.internal.jni.CoreMapView.a(SourceFile:304) at com.esri.arcgisruntime.internal.h.b.o.b(SourceFile:186) at com.esri.arcgisruntime.mapping.view.MapView.drag(SourceFile:955) at com.esri.arcgisruntime.mapping.view.DefaultMapViewOnTouchListener$b.run(SourceFile:203) at java.util.TimerThread.mainLoop(Timer.java:562) at java.util.TimerThread.run(Timer.java:512) I don't know why this would still be running after dispose. This is the reason I tried to avoid it by inserting a Dummy Listener that does nothing. I am also using LeakCanary to look for leaks preventing the Activity from being garbage collected. Here is one of them. It is pointing to a reference in native code.
... View more
03-11-2020
08:27 AM
|
0
|
0
|
1589
|
POST
|
The following is how I am initializing the LocationDisplay Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); AndroidLocationDataSource androidLocationDataSource = new AndroidLocationDataSource(mContext, criteria, 250L, 1L); mLocationDisplay.setLocationDataSource(androidLocationDataSource); mLocationDisplay.setWanderExtentFactor(0); You'd think this would mean it updates up to four times a second, but it doesn't. Especially after resuming the activity, it updates whenever it feels like it. Sometimes that's two seconds, sometimes five seconds, sometimes 15 seconds. Here is an illustration. A service running in the background IS getting the location every second through locationManager. The arrow just isn't keeping up. It will catch up to the track once in a while. How do I make the LocationDisplay behave decently? I could create my own LocationDataSource - maybe. But it would be a major pain because you don't allow subclassing and your code is very obscure. And how do I know the bottleneck isn't somewhere else besides the LocationDataSource?
... View more
03-07-2020
06:41 PM
|
0
|
8
|
2236
|
POST
|
There have always been some in our crash logs, and they have increased dramatically since the 100.7 rollout. Users have noticed them consistently when using it for a few hours. The other big change we made for 100.7 was to migrate from AppCompat to AndroidX, because this was required for 100.7. These are the relevant portions. Some things are in a slightly different order. Notice that we have a whole lot more in OnDestroy than mMapView.dispose() While they are things that dispose should probably handle, at some point in the past I had to add all of those to avoid memory leaks. @Override
protected void onPause() {
Crashlytics.log("BCHomeActivity --> Start onPause ----");
mMapView.pause();
//....
super.onPause();
Crashlytics.log("BCHomeActivity --> End onPause ----");
}
@Override
protected void onResume() {
Crashlytics.log("BCHomeActivity --> Start onResume ----");
super.onResume();
mMapView.resume();
Crashlytics.log("BCHomeActivity --> End onResume ----");
}
@Override
protected void onDestroy() {
Crashlytics.log("BCHomeActivity --> Start onDestroy ----");
try {
//unusubscribe listeners.
mMapView.removeMapScaleChangedListener(this.mScaleChangedListener);
mMapView.removeNavigationChangedListener(this.mNavChangedListener);
mMapView.setOnTouchListener(new BCDummyTouchListener());
mMapView.getLocationDisplay().stop();
mMapView.dispose();
}catch(ArcGISRuntimeException e){
Crashlytics.log("BCHomeActivity --> onDestroy ----" + e.getMessage());
}
//....
super.onDestroy();
Crashlytics.log("BCHomeActivity --> End onDestroy ----");
}
... View more
03-06-2020
06:06 PM
|
0
|
0
|
1589
|
POST
|
Various devices, but many are Samsung Tablets. Android 8,9,10 ie Galaxy Tab A (8.0", 2019) Galaxy Note10+ 5G Galaxy Note8 They are in the field, typically without network. They are using an offline map., which means the basemap contains a subclass of ImageTiledLayer. Map is moving with LocationDisplay using Moving direction. The map may have 1-5 GraphicsOverlays which contain polylines and points. In particular, one graphics overlay has a polyline that is frequently updated because they are recording there path. Ie it is deleted from the GraphicsOverlay and replaced with a slightly longer polyline every few seconds. User reported that the app crashed randomly four times in 66 miles of offroading. Is it possible, for instance that the MapView handle is invalid because somehow the Activity isn't being garbage collected? I've been chasing down some leaks in Android Framework. Just what is/could be invalid in those calls could help me track it down.
... View more
03-03-2020
05:31 PM
|
0
|
0
|
1589
|
POST
|
Crash reports from the field indicate a huge increase in certain crashes since our update to 100.7 from 100.6 All of this is in ArcGIS code. No, I can't give code to reproduce it but it is common from crash reports. What I am hoping for are some insights. What could trigger this? What argument is out of range? What argument is invalid? I can't know those things without the source code. How I can make them in range and valid? Fatal Exception: com.esri.arcgisruntime.ArcGISRuntimeException: Out of range at com.esri.arcgisruntime.internal.jni.CoreGeoView.nativeDraw(SourceFile) at com.esri.arcgisruntime.internal.jni.CoreGeoView.a(SourceFile:346) at com.esri.arcgisruntime.internal.h.b.o.a(SourceFile:132) at com.esri.arcgisruntime.mapping.view.MapView.onDrawFrame(SourceFile:156) at com.esri.arcgisruntime.mapping.view.GeoView$b.onDrawFrame(SourceFile:1363) at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1575) at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1271) Fatal Exception: com.esri.arcgisruntime.ArcGISRuntimeException: Invalid argument at com.esri.arcgisruntime.internal.jni.CoreMapView.nativeInteractionDrag(SourceFile) at com.esri.arcgisruntime.internal.jni.CoreMapView.a(SourceFile:304) at com.esri.arcgisruntime.internal.h.b.o.b(SourceFile:186) at com.esri.arcgisruntime.mapping.view.MapView.drag(SourceFile:980) at com.esri.arcgisruntime.mapping.view.DefaultMapViewOnTouchListener$b.run(SourceFile:215) at java.util.TimerThread.mainLoop(Timer.java:562) at java.util.TimerThread.run(Timer.java:512) Caused by com.esri.arcgisruntime.ArcGISRuntimeException: Invalid argument at com.esri.arcgisruntime.internal.jni.CoreMapView.nativeSetMap(SourceFile) at com.esri.arcgisruntime.internal.jni.CoreMapView.a(SourceFile:215) at com.esri.arcgisruntime.internal.h.b.o.a(SourceFile:448) at com.esri.arcgisruntime.mapping.view.MapView.setMap(SourceFile:594)
... View more
02-29-2020
05:17 PM
|
0
|
6
|
1922
|
POST
|
This is a followup. We released with 100.7 I believe it has resolved some or most. These ones still show some crash reports as of a version with 100.7: Xiaomi Redmi 6A myPhone Hammer Energy 18x9 ZTE BLADE A530 MLS Q5011_E OPPO A1K OPPO CPH1909 HUAWEI Y5 2018 I do not know how to look up chipsets. Stack traces look similar. They differed only in line 1230 vs 1232 vs 1223 Maybe they could work with a similar fix. Maybe that is easy, maybe not.
... View more
02-21-2020
11:23 AM
|
0
|
0
|
2403
|
POST
|
Target API level is still 28 I did have to migrate to Androidx because that was necessary in moving from 100.6 to 100.7. Attached is the ItemResourceCache, zipped up. I was able to intercept a loading error "Unable to find resources.zip" Here is where I initialize the ItemResourceCache ItemResourceCache itemResourceCache = new ItemResourceCache(stylespath + "day");
According to source code records, this code has been used to load the ItemResourceCache for 18 months. It did not change this week when we released with 100.7/ If I change it to ItemResourceCache itemResourceCache = new ItemResourceCache(stylespath + "day/bcosm"); It is loading. Since resources.zip IS in day/bcosm, this actually seems more correct. HOWEVER, see the above. It seems that previously you were expecting resources.zip to be one level deeper. Did something like that change? I will note that I have NEVER seen any documentation on how I am supposed to create an ItemResourceCache. Has that changed? See this topic from two years ago: https://community.esri.com/thread/215716-arcgisvectortilelayer-whats-an-itemresourcecache-and-how-do-i-make-one This was never answered and I had to learn mostly from trial and error.
... View more
02-21-2020
09:01 AM
|
0
|
0
|
829
|
POST
|
I moved to 100.7. This no longer works. vtlayer = new ArcGISVectorTiledLayer(vectorTileCache, itemResourceCache); Same exact files as before the move to 100.7. Same exact code. Symptoms: nothing from this vtpk shows. No error messages that I can tell. It just never shows. There is nothing in the release notes that you changed anything here. What's going on?
... View more
02-20-2020
05:44 PM
|
0
|
7
|
965
|
POST
|
I have used code like this to create a tileinfo for my custom tiled layer: static public double resolution(int zoom) {
return INITIALRESOLUTION / Math.pow(2, zoom);
} public static TileInfo CreateTileInfo(int minZoom, int maxZoom) { int dpi = 96; ArrayList<LevelOfDetail> levels = new ArrayList<>(); for (int i = minZoom; i <= maxZoom; i++) { double resolution = resolution(i); double scale = resolution * dpi * 39.37; LevelOfDetail l = new LevelOfDetail(i, resolution, scale); levels.add(l); } return new TileInfo(dpi, TileInfo.ImageFormat.PNG, levels, new Point(-20037508.342789244, 20037508.342789244, SpatialReferences.getWebMercator()), SpatialReferences.getWebMercator(), 256, 256); } Why did I choose 96 as the DPI? I don't know, except that it seems every ArcGIS server in existence uses 96 as its dpi. Example: World_Topo_Map (MapServer) Tile Info: Height: 256 Width: 256 DPI: 96 Levels of Detail: 24 Level ID: 0 [ Start Tile, End Tile ] Resolution: 156543.03392800014 Scale: 5.91657527591555E8 Level ID: 1 [ Start Tile, End Tile ] Resolution: 78271.51696399994 Scale: 2.95828763795777E8 and so on. So far so good, but take a look at these that a user sent me. On the left is a custom map view invented in house. On the right, one using ArcGIS Android SDK. Both of them say 14, but it has a different meaning. On the left, it is a one to one pixel ratio. 14 means LOD 14 of the tile server. On the right, 14 actually means Scale of 1:36111.909643. But you must be taking into account the dpi of 96 vs whatever the screen dpi is. I theorized that if I set the dpi to exactly what the device dpi is - in my case 576, they would look the same. I cannot make that work. I do not think setting it to the screen dpi is best. But for some map sources, 96 may not be the optimal number, right?
... View more
01-11-2020
08:51 PM
|
0
|
0
|
431
|
POST
|
Migrating to androidx will probably cause some turmoil, but we will start moving to 100.7 when feasible.
... View more
01-07-2020
09:49 AM
|
0
|
0
|
2403
|
Title | Kudos | Posted |
---|---|---|
1 | 12-29-2017 03:07 PM | |
1 | 04-14-2020 10:41 PM | |
1 | 11-21-2017 08:58 PM | |
2 | 06-01-2018 12:39 PM | |
3 | 05-30-2018 02:14 PM |
Online Status |
Offline
|
Date Last Visited |
01-22-2021
10:16 PM
|