2010-11-26 58 views
0

Si je laisse mon application en arrière-plan pendant environ 12 heures, toutes les variables statiques sont effacées et l'application devient folle.Pourquoi toutes les variables statiques de l'application Android sont-elles détruites lorsque l'application est en arrière-plan pendant une longue période de temps?

Pourquoi cela se produit-il?

Quelle est la manière correcte de conserver les variables de niveau application (portée) qui ne sont jamais détruites jusqu'à la fin de l'application?

Merci à l'avance, Afzal

Répondre

0

Votre application obtient évidemment détruit. Vous devriez considérer la situation comme relancée.

+0

Mais il reprend à partir de la même activité que celle affichée en dernier. Cela ne démarre pas l'activité principale. Et cela fonctionne un peu en arrière-plan (un appel HTTP toutes les 20 minutes) donc cela signifie qu'il arrête aussi de faire ça? – Afzal

0

Je pense que 12 heures est trop long pour Android pour garder votre application en mémoire. En ce moment, probablement votre application, ressemble à est détruit par Android. Donc, mieux vaut essayer d'enregistrer votre état/données dans la base de données onDestroy() de l'activité. Regardez Android Component Cycle.

1

Votre application est probablement détruite par le système que vous devez conserver l'état de votre application en utilisant le mécanisme onSaveInstanceStateonRestoreInstanceState.