Windows Phone / Xbox et Android ne prennent pas en charge la récupération de place générationnelle. C'est frustrant pour beaucoup de programmeurs. Il semble y avoir une raison d'ingénierie légitime, mais je ne peux pas le comprendre.
Les téléphones actuels ont plus de mémoire et probablement de meilleurs processeurs que les ordinateurs de bureau / portables exécutant .NET 1.1 avec GC générationnel en 2001, et je ne peux penser à aucune raison pour laquelle les processeurs ARM seraient plus mauvais au GC générationnel que x86. Il y a également moins de besoin de multitâche sur les téléphones et les consoles, donc il y a relativement plus d'espace libre.
Alors qu'est-ce qui donne?
Edit: Quelques points à clarifier:
- Ces plates-formes utilisent exclusivement la récupération de place pour les applications, donc ma question n'est pas de savoir pourquoi GC n'est pas pris en charge; ma question est de savoir pourquoi la collecte des ordures générationnelle ne l'est pas.
- La raison pour laquelle les gens sont frustrés par le manque de GC générationnel est que le GC non générationnel est extrêmement inefficace. (Cela signifie que la durée de vie de la batterie n'est pas la raison.)
- Je crois qu'il y a une raison technique honnête au manque de support générationnel du GC. Ce n'est pas une question rhétorique.