J'ai un problème très difficile à cerner.Android - onCreate étant appelé à chaque lancement
Quand j'installer mon application sur le marché, je vois parfois le comportement suivant:
- Navigation loin de l'application appelle onStop, comme prévu
- De retour à l'application appelle onCreate pour l'activité principale, au lieu de simplement onRestart/onResume
OnCreate continuera à être appelé chaque fois qu'un utilisateur quitte/retourne à l'application, quoi qu'il arrive. Évidemment, cela cause de gros problèmes en termes d'état, etc.
Parfois, le redémarrage du téléphone résout ce problème, parfois non. L'installation à partir de .adb empêche ce comportement.
Log de se comporter l'application, sur le toucher de l'icône (lors de l'exécution déjà):
2-10 18:56:33.855: INFO/ActivityManager(1482): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.sidekickApp/.Main } from pid 1604
02-10 18:56:33.855: VERBOSE/HtcAppUsageStats(1482): (launch app, package): (Sidekick App, com.sidekickApp)
02-10 18:56:33.865: DEBUG/PhoneWindow(1604): couldn't save which view has focus because the focused view [email protected] has no id.
02-10 18:56:33.865: DEBUG/Background traffic light(1604): traffic light: GREEN, mBackgroundTrafficLight = false
02-10 18:56:33.895: VERBOSE/Main(2648): Debug: onRestart()
02-10 18:56:33.895: DEBUG/Main(2648): Debug: onResume()
Connexion de l'application foiré:
02-10 18:39:35.813: INFO/ActivityManager(1477): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.sidekickApp/.Main bnds=[360,586][477,704] } from pid 1583
02-10 18:39:35.843: VERBOSE/HtcAppUsageStats(1477): (launch app, package): (Sidekick App, com.sidekickApp)
02-10 18:39:35.873: DEBUG/Background traffic light(1583): traffic light: GREEN, mBackgroundTrafficLight = true
02-10 18:39:35.903: VERBOSE/Main(7364): Debug: onCreate()
Je suis désespéré ici. Des idées?
Je pense qu'il est unpredicatable et non garantis. Si l'activité de l'application n'est pas dans la pile, oncreate sera appelé sinon onResume sera appelé. C'est le cycle de vie. – kosa