| Numéro d’ID de bogue |
BUG-000139394 |
| Envoi | April 27, 2021 |
| Dernière modification | June 5, 2024 |
| S’applique à | ArcGIS Runtime SDK |
| Version trouvée | 100.11 |
| Système d’exploitation | Windows OS |
| Version du système d’exploitation | 10.0 64 Bit |
| Statut | Known Limit
Après examen par l’équipe de développement, il a été déterminé que ce problème est lié à une limitation connue du logiciel sur laquelle Esri n’a aucun contrôle. Pour d’autres explications, reportez-vous à la section Informations supplémentaires correspondant au problème.
|
Informations supplémentaires
This issue is specific Garbage Collection in conjunction with the x86/32-bit architecture, .NET Framework, and the pattern in which the API is used.
1. Avoid closing the MobileMapPackage between each call to RouteTask.SolveRouteAsync() (in the reproducer this is in the ProcessLocations function).
e.g.
```
streetMapPremiumPackage.Close(); // Remove this call.
```
2. Call GC.Collect/GC.WaitForPendingFinalizers before the call to streetMapPremiumPackage.Close(): When it is necessary to close the MobileMapPackage between each call to SolveRouteAsync, assign the RouteTask to null and call GC.Collect/GC.WaitForPendingFinalizers before the call to streetMapPremiumPackage.Close();.
e.g.
```
solveRouteTask = null;
GC.Collect();
GC.WaitForPendingFinalizers();
streetMapPremiumPackage.Close();
```
3. Target x64: This issue is only reproducible when the application is compiled as 32-bit (or AnyCPU + Prefer 32-bit), and not when the application is compiled as x64 (or AnyCPU and running on a x64 machine).
4. Update from .NET Framework to .NET 6: The issue was no longer reproducible after updating the repro app to .NET 6. https://docs.microsoft.com/en-us/dotnet/core/porting/upgrade-assistant-overview
Étapes pour reproduire
ID de bogue: BUG-000139394
Logiciel: