Il est recommandé de se renseigner sur le contenu d'Activity Lifecycle dans le didacticiel officiel Android. L'URL est https://developer.android.com...
Solution :
Mettez l'opération d'initialisation dans la méthode OnCreate() de Activity au lieu de la méthode OnResume() ou OnStart().
Vous pouvez également définir l'identifiant de la variable globale statique sur 0, le définir sur 1 après l'initialisation et déterminer si la variable est 0 avant l'initialisation. Cependant, ce n'est pas la bonne façon de comprendre LifeCycle pour résoudre ce problème. problème.
Le premier phénomène est que les données ont été à nouveau initialisées, donc la solution est la suivante : 1. Pensez à la raison pour laquelle les données ont été à nouveau initialisées. Comme mentionné ci-dessus, vous les avez peut-être initialisées dans OnResume(). , méthode OnStart(). 2,produire La raison du problème est que les données sont initialisées plusieurs fois, vous pouvez donc ajouter la fonction de plusieurs appels à l'initialisation des données et utiliser des idées orientées objet pour encapsuler les données d'initialisation, ce qui ressemble un peu au modèle à intérêt unique. . L'avantage est que cela résout la possibilité d'exécutions multiples,
Si à chaque fois votre Activity est destroy, alors vous ne pourrez pas obtenir le résultat souhaité en mettant le programme d'initialisation dans onCreate. Vous feriez donc mieux de vérifier log d’abord et de jeter un œil à votre Activity cycle de vie.
Chaque fois que vous entrez dans la page, déterminez si les données existent déjà. Si elles existent déjà, utilisez le cache et ne demandez pas au réseau de charger les données.
Habituellement, onCreate sera appelé à nouveau seulement après la destruction de l'activité. Vérifiez le mode de démarrage de l'activité actuelle et le mode de démarrage d'une autre activité.
Mettez l'opération de données d'initialisation dans la méthode onCreate. Vous pouvez la mettre dans onResume.
Il est recommandé de se renseigner sur le contenu d'Activity Lifecycle dans le didacticiel officiel Android.
L'URL est https://developer.android.com...
Solution :
Mettez l'opération d'initialisation dans la méthode
OnCreate()
de Activity au lieu de la méthodeOnResume()
ouOnStart()
.Vous pouvez également définir l'identifiant de la variable globale statique sur 0, le définir sur 1 après l'initialisation et déterminer si la variable est 0 avant l'initialisation. Cependant, ce n'est pas la bonne façon de comprendre LifeCycle pour résoudre ce problème. problème.
Ci-joint une photo du cycle de vie
Le premier phénomène est que les données ont été à nouveau initialisées, donc la solution est la suivante :
.1. Pensez à la raison pour laquelle les données ont été à nouveau initialisées. Comme mentionné ci-dessus, vous les avez peut-être initialisées dans OnResume(). , méthode OnStart().
2,produire La raison du problème est que les données sont initialisées plusieurs fois, vous pouvez donc ajouter la fonction de plusieurs appels à l'initialisation des données et utiliser des idées orientées objet pour encapsuler les données d'initialisation, ce qui ressemble un peu au modèle à intérêt unique. . L'avantage est que cela résout la possibilité d'exécutions multiples,
Si à chaque fois votre
Activity
estdestroy
, alors vous ne pourrez pas obtenir le résultat souhaité en mettant le programme d'initialisation dansonCreate
. Vous feriez donc mieux de vérifierlog
d’abord et de jeter un œil à votreActivity
cycle de vie.Chaque fois que vous entrez dans la page, déterminez si les données existent déjà. Si elles existent déjà, utilisez le cache et ne demandez pas au réseau de charger les données.
En le connectant et en le combinant avec la fonction de cycle de vie Android, le problème est fondamentalement résolu
Cela signifie que votre activité a été interrompue, réfléchissez à la raison
Habituellement, onCreate sera appelé à nouveau seulement après la destruction de l'activité. Vérifiez le mode de démarrage de l'activité actuelle et le mode de démarrage d'une autre activité.
Vous pouvez considérer le mode de démarrage de votre activité. Il existe 4 modes de démarrage, il y en a toujours un qui vous convient
onSavedInstance()
onRestoreInstance()