Il y a certainement aussi un problème majeur avec des performances imprévisibles sur tous les périphériques de ressources limitées. Un collègue et le mien ont été embauchés par Intel pour le lancement de Pentim 3 afin de créer de super trucs d'interface utilisateur qui présentaient la puissance IMPRESSIONNANTE de ce processeur afin que tout le monde puisse le mettre à niveau. Pour une raison quelconque, il a été décidé qu'une interface 3D basée sur Java pour le moteur de recherche Excite était la solution ultime. Les planètes avec des lunes représenteraient des pages de résultats et des résultats de recherche individuels. Des trucs d'âge spatial. C'était évidemment avant le grand internett ka-blam quand les gens avaient beaucoup trop d'argent et une grande vision d'un cyber-monde 3D. Eh bien, le garbageman a toujours surgi au mauvais moment et souvent, alors nous avons fait ce que nous devions faire à l'époque et demander une tonne de mémoire et écrire nos propres trucs d'attribution. Le client n'avait aucune tolérance pour GFX jumpy.
Cela a fait l'affaire, sale comme il peut sembler aujourd'hui. Je maintiens que la décision d'Apple a le plus à voir avec peu de mémoire disponible et que l'on souhaite une vitesse optimale dans les applications et les jeux. Ce n'est pas le genre de gens qui sont heureux avec les gens qui vont "argh, maintenant il est à la traîne." Je vous réfère à la récente hooplah autour de 4.x étant chien lent sur certains appareils. La nouvelle mise à jour a remplacé certaines fonctionnalités par des compromis.
Vous avez tout à fait raison. Le garbage collector pour ObjC est très difficile à comprendre et a quelques problèmes, en particulier dans le code mixte (ObjC et C). En fait, je l'ai désactivé sur mon application OSX car cela a conduit à des problèmes très étranges (mais facilement reproductibles). –