Supposons que j'ai une application Android avec deux activités (Activité1 et Activité2). Dans Activity1, je déclare un public static Boolean foo = true
.Durée de vie d'une variable statique publique dans Android
Quand je finish()
Activité1 et passer à Activity2, je suis en mesure de voir cette variable « foo » a une valeur true
Mais lorsque le système a peu de mémoire (par exemple, parce qu'il ya de nombreuses applications en cours d'exécution sur l'appareil), puis , quand je suis sur Activity2, je vois que la valeur de la variable "foo" est null
.
Comment cela est-il expliqué?
La réponse à cette question pourrait être la solution à votre problème. http://stackoverflow.com/questions/9541688/static-variable-null-when-returning-to-the-app – HyperZ
Ce que je ne comprends pas, c'est quand je finis() Activity1, pourquoi puis-je voir la valeur de "foo" est vrai, et quand le système le tue, la valeur de "foo" est nulle. – Fivos
Probablement parce que 'null' est la valeur par défaut pour votre variable statique 'foo', comme indiqué dans la réponse de @Kishan Vaghela. – HyperZ