2009-11-28 3 views
1

J'ai porté l'une de mes applications mac sur l'iphone. SENSATIONNEL!!! est-ce lent? Au début, j'ai commencé à penser que je faisais peut-être beaucoup d'accès au disque. Mais quand j'ai commencé à regarder, j'ai réalisé que je faisais simplement une lecture décalée d'un fichier binaire. Je n'ai lu que 512 octets de données. J'ai aussi un tableau qui est énorme. Peut-être 2MB. Mais pourquoi cela serait-il lent? Il est situé en mémoire.mon logiciel iPhone est si lent!

J'aimerais avoir des idées de votre part!

+0

Cela devrait être une question www.superuser.com. S'il vous plaît migrer ceci. –

+6

L'OP fait référence à la performance de son propre logiciel; C'est approprié pour SO, pas SU. –

Répondre

1

Il est difficile de déboguer l'application sur Stackoverflow, mais il y a de nombreuses raisons pour lesquelles l'application iPhone tourne beaucoup plus lentement: vos applications mac fonctionnent probablement sur les derniers processeurs avec beaucoup de mémoire, rumeur d'avoir 600MHz CPU avec 256 Mo de RAM). En outre, les applications Mac sont un peu plus indulgents quand il s'agit de l'utilisation de la mémoire; Quant à l'iPhone, il est important de ne créer que les objets dont vous avez besoin lorsque vous en avez besoin et de les libérer lorsque vous ne les utilisez plus. Retarder la désaffectation des objets entraîne également un ralentissement.

Je recommande d'utiliser l'outil de profil de performances Instruments, fourni avec XCode et les outils Developer. Cela donnera de bons conseils sur les goulots d'étranglement.

2

En cas de problèmes de performances majeurs, l'outil à retirer en premier est Instruments. Commencez par "Exécuter avec l'outil Performance> CPU Sampler" et découvrez où votre application passe son temps. Après cela, vérifiez les allocations d'objet pour voir si vous frappez la mémoire plus fort que vous devriez. iPhone est un environnement à ressources limitées par rapport au Mac. Les choses que vous considérez comme rapides peuvent considérablement affecter les performances sur iPhone. L'accès au disque est beaucoup plus cher. Même l'allocation de mémoire peut avoir un impact significatif (bienvenue dans le monde que les développeurs de serveurs traitent chaque jour). Vous n'avez qu'un seul noyau, donc les choses que vous avez collées sur un fil d'arrière-plan rivalisent maintenant avec votre fil principal. C'est un monde différent.

Questions connexes