AnsweredAssumed Answered

Hi crashing on app losing focus. Graphics_hardware_resource or Device objects have not been destructed

Question asked by skn3skn3 on Mar 23, 2018

Hi there,


So I have an issue with IOS ArcGIS where I am implementing it in a "non standard" way. I use a language that lets me write in its own syntax and then that gets transpiled to cpp/objectiveC. The language lets you write native declarations so you can map the language calls to code within native cpp files. Its a pretty powerful language in that respect and I have had a lot of experience wrapping modules similar to ArcGIS. For example I created a UIWebView wrapper that can embed a UIWebView and then interact with it. So I am just pointing out that its a thing that I know can work with this language.


So I have done the same thing with ArcGIS. I have a cpp glue class that deals with communicating from the language to an objc class which in turn interacts with a AGSMapView that it owns. The process consists of creating an AGSMapView, adding it as a child to the pre existing view and then firing off commands to through this pipeline.


I have this working fine, my issue (one of them) comes when trying to free the AGSMapView. In one particular test app I get a hard crash.


I have created a very basic stripped back version for testing the crash. Here is a snippet that causes a crash upon calling the Free().


I get a hard crash which can't be caught by an exception breakpoint! So I am a little stuck here for how to proceed.


I have another issue also. If I create a AGSMapView using the Init function in teh gist above, and the blur the app (pull notification sheet down) then I get a crash. This crash dumps something in the console:


2 Graphics_hardware_resource or Device objects have not been destructed

The number of graphics_hardware_resource depends on the amount of map tiles I have loaded, so its definitely related to AGS.


Anyone got any ideas?