In your application objects/Graphics are created and destroyed.
Now we recognize that the memory allocated by Esri::ArcGISRuntime::Graphic is not released.
So our application runs out of memory is a few hours (instead of running days and weeks)
I wrote a sample to reproduce the issue:
1) start the program
-> 185MB
2a) I create 100k objects (SimpleMarkerSymbol) -> exisiting objects: 100k:
-> 1008MB
2b) I destroy 100k objects (SimpleMarkerSymbol) -> exisiting objects: 0:
-> 1070MB
3a) create 100k objects..
3b) destroy..
-> exisiting objects: 0:
ctc 3981 15.7 7.2 3351616 1186460 pts/8 Sl+ 08:07 0:11 ./MemUsageWithManyMarker
-> 1180MB
4a) create 100k objects..
4b) destroy..
-> exisiting objects: 0:
ctc 3981 16.3 7.5 3404684 1233580 pts/8 Sl+ 08:07 0:23 ./MemUsageWithManyMarker
-> 1223MB
...
The memory isn´t released even if i destroy the a) the GraphicsOverlay, b) MapView or c) Map.
Following Cases/Bugs are created:
- Esri Case #02675513 - Destruction of objects/graphics does not release memory
BUG-000135578: Appending 100,000 graphics to GraphicsOverlay causes memory leak - Esri Case #02688296 - increasing memory usage over time
BUG-000135793 - Creation of an additional 1,000 graphics after initially creating 100,000 graphics causes an increase in memory usage when using dynamic rendering mode