Je suis en train de tester la dernière fonctionnalité iOS4 pour mettre en arrière-plan mon application de localisation. Eh bien, ça marche! Mais d'un autre côté, il est très difficile de gérer l'énorme consommation d'énergie.Meilleure pratique - Mode Application en arrière-plan pour l'iPhone
L'application a consommé environ 50% de la batterie au cours des quatre dernières heures. Il a lu le entire official documentation par Apple sur ce sujet mais je ne suis toujours pas sûr quelles parties de mon application fonctionnent toujours et quelle fonctionnalité est suspendue (à côté du dessin de l'interface utilisateur, qui devrait être clair).
Je n'utilise aucun code standard, mais des bibliothèques étendues comme ASIHTTPRequest pour parler à mon service web. Des essais avec une voiture d'amis avez-vous montré que la connectivité réseau et et les services de localisation est toujours en cours d'exécution lorsque j'utilise par exemple
[locationManager startMonitoringSignificantLocationChanges];
Apples Documentation on les différents états d'application
Contexte: L'application est en arrière-plan et l'exécution du code [...]
Devrais-je écrire un "bare metal" fonctions pour recevoir et s mettre fin à ces données de localisation? Dois-je supprimer tous les autres objets pendant la durée de l'application en arrière-plan pour réduire l'empreinte mémoire? Il semble qu'il n'y ait pas encore de bonne pratique.
Des idées? Peut-être que vous pouvez me fournir certaines de vos idées. Merci.
Edit: Il y a un nouvel outil appelé Instruments Energy Diagnostics Instruments pour enregistrer toute utilisation d'énergie (pour iPhone 3GS et versions ultérieures) avec un périphérique connecté. Il existe également un autre service sur l'appareil dans l'application Paramètres -> Développeur -> Utilisation de l'alimentation. C'est génial de tester votre consommation d'énergie sur le terrain. Les journaux créés peuvent être extraits plus tard dans les instruments.
Référence: WWDC 2010 Session 309 - Analyse des performances de pointe avec instruments