A .Net MAUI app crashes if a map that is tracking the current location on iOS devices is continuously refreshed.
ArcGIS Maps SDK for .NET
漏洞 ID 编号
BUG-000173442
已提交
January 7, 2025
上次修改时间
June 29, 2025
适用范围
ArcGIS Maps SDK for .NET
找到的版本
200.5
操作系统
Apple iOS
操作系统版本
16.x
状态
As Designed
经开发团队审核,已确定此行为符合设计。 有关详细信息,请参阅“其他信息”部分。
附加信息
After looking into how GeoView behaves in your app and comparing it with the sample code, here’s what we have found:
Every time you hit Refresh, the app is pushing a brand new page onto the navigation stack.
The old pages (and their map views) are not being disposed of when this happens.
Because of this, each refresh leaves the previous map view in memory, even though you can’t see it anymore.
After 25–30 refreshes, the app ends up with 25–30 pages and map views still sitting in memory. This is what causes the memory usage to shoot up.
`await Shell.Current.Navigation.PushAsync(new MainPage(), false);`
This line creates a new MainPage every time but doesn’t remove the old one from memory. Since each page has a MapView, and those aren’t being disposed until the page itself is disposed, memory keeps growing.
This is not actually a bug in the GeoView or MapView. It is more about how the navigation is set up in your .NET MAUI app. The app keeps stacking up pages without cleaning up the old ones, which is why memory keeps increasing.