L'appli android, je suis en train de travailler sur des remplacements de la classe d'Application de magasin léger état (nom d'utilisateur, localisation gps, etc) en statique vars. La plupart de cet état est défini dans le OnCreate de l'activité de lancement (nom d'utilisateur (extrait de préf., emplacement de l'auditeur). Est-il sécuritaire de s'appuyer sur l'activité de lancement pour initialiser la classe d'Application? Existe-il des cas où la classe Application qui pourrait être re-créé sans le Lancement de l'activité également en cours de création?
La question se pose parce que je suis tombé sur une exception de pointeur null accéder à une variable dans la classe d'Application sur la reprise de l'application après le téléphone a été endormi pendant plusieurs heures (l'application a gauche au premier plan, avant que le téléphone est allé dormir). Est-il possible que le processus a été tué alors que le téléphone était endormi et au réveil, le téléphone, la classe d'Application a été re-créé, le top de l'activité dans la pile a repris, mais le lancement de l'activité.onCreate n'était pas courir ainsi, la classe d'Application n'était pas initialisé?
Notez que j'ai essayé de tester ces types de scénarios en Forçant l'Application de cesser d'utiliser les Paramètres / Gérer les applications. Cependant, je ne suis pas en mesure de reproduire le problème. Sur la prochaine course, la classe d'Application est créée, suivie par le lancement de l'activité.onCreate.
Est-il sûr de supposer que la Demande instance de classe existera tant que le processus, et que lorsque l'Application classe est créée, elle est l'équivalent de "redémarrage" de l'application ie. commencer une nouvelle activité de la pile (et la première activité de la pile est le lancement de l'activité)?