Résumer le cycle de vie des objets Java à prendre en compte dans le développement Android

Concept de cycle de vie dans le développement Android

Dans iOS, le contrôleur de vue et la classe de vue ont le concept de cycle de vie, C'était très compliqué de définir la disposition automatique. Je me demandais donc ce qui se passerait avec Android. On savait qu'Android avait également un cycle de vie en activité, J'ai appris pour la première fois aujourd'hui que les spécifications linguistiques ont aussi un cycle de vie.

Peut-être que je n'étais même pas au courant d'Objective-C ou de Swift, Il peut y avoir eu un cycle de vie d'objet.

Par conséquent, je vais résumer le cycle de vie dans le langage mJava.

3 types de cycle de vie Java

Il existe environ trois types de cycles de vie d'objets.

Variables locales

Les variables locales sont des variables qui ne sont disponibles que dans un bloc de traitement.

LocalVar.java


int sampleMethod() {
    int count = 0; //Variables locales
    return count;
}

Il est généré à l'endroit où la variable est déclarée et détruit lorsque le traitement du bloc est terminé.

Variable d'instance

Les variables d'instance sont des variables déclarées en tant que champs dans une classe. Le cycle de vie d'une variable d'instance est le même que le cycle de vie d'une instance d'une classe. Créé lorsque l'objet parent est créé et détruit lorsque l'objet parent est garbage collection. Le garbage collection est un mécanisme qui libère des zones inutiles de la zone mémoire allouée par le programme.

Variable de classe

Une variable de classe est une variable déclarée comme champ statique d'une classe. A le cycle de vie le plus long. Elle est créée lorsque la classe est chargée et détruite lorsqu'elle est détruite.

LifeCycleSample.java


public class LifeCycleSample {
  public static int classVariable = 1; //Variable de classe
  public int instanceVarialbe = 1;     //Variable d'instance

  public void sampleMethod() {
    int localVariable = 1;            //Variables locales
    return localVariable;
  }
}

Bonnes pratiques du cycle de vie

Il existe à peu près deux bonnes pratiques pour déclarer des objets variables.

  1. Raccourcissez le cycle de vie.
  2. Prolongez le cycle de vie et améliorez les performances.

J'ai moi-même essayé de minimiser la portée en déclarant des variables si nécessaire dans le domaine jusqu'à présent. Si vous la maintenez trop longtemps, la variable sera appelée d'un autre endroit à un moment inattendu et l'état changera (rires). Il est clair que les programmes involontaires peuvent causer des bogues et doivent être évités autant que possible.

Donc, pour moi, je pense qu'il est facile de créer un modèle qui raccourcit le cycle de vie de 1.

Recommended Posts

Résumer le cycle de vie des objets Java à prendre en compte dans le développement Android
Éléments à prendre en compte lors de l'écriture de code en Java
Développement Android, comment vérifier null dans la valeur de l'objet JSON
Points à prendre en compte lors de l'écriture de Java
Résumer le cycle de vie des objets Java à prendre en compte dans le développement Android
Organiser l'état actuel de Java et envisager l'avenir
Surveillez l'état interne des programmes Java avec Kubernetes
Soyez conscient du garbage collection et évitez les fuites de mémoire
J'ai essayé de résumer les méthodes de Java String et StringBuilder
[Java] Éléments à prendre en compte lors de la sortie de FizzBuzz
Récapitulez les éléments supplémentaires de la classe Optional dans Java 9
[Java] [Microsoft] Éléments à prendre en compte lors de l'inclusion du pilote JDBC SQL Server dans un fichier jar
À propos du cycle de vie Android
J'ai essayé de résumer les bases de kotlin et java
Reportez-vous à C ++ dans le module Android Studio (Java / kotlin)
[Android, Java] Méthode pratique pour calculer la différence en jours
[Java Silver] Ce qu'il faut savoir concernant les instructions switch
Comment implémenter l'affichage sur une seule ligne de TextView dans le développement Android
Comment dériver le dernier jour du mois en Java
[Rails] Où faire attention dans la description de la validation
Assurez-vous de comparer le résultat Java compareTo avec 0
À propos des bases du développement Android
Être conscient du code facile à lire
Un nouveau venu tente de résumer la vue Android (développement d'applications Android pour débutants)
Sortie de la différence entre chaque champ de deux objets en Java
La milliseconde définie dans /lib/calendars.properties de Java jre est UTC
J'ai essayé de résumer les méthodes de Java String et StringBuilder
Juger si les chaînes de caractères à comparer sont les mêmes en Java
Comment obtenir la longueur d'un fichier audio avec Java
Comment incrémenter la valeur de Map sur une ligne en Java
Obtenez le résultat de POST en Java
Référence Java à comprendre dans la figure
L'histoire de l'oubli de fermer un fichier en Java et de l'échec
[Java] Comparaison d'équivalence où les débutants échouent dans la comparaison de chaînes de caractères. Vous n'êtes peut-être même pas conscient de l'erreur! ??
J'ai essayé de résumer les points clés de la conception et du développement de gRPC
Résumé des bibliothèques qui semblent souvent utilisées dans le développement récent d'Android (2019/11)
Qu'est-ce qui n'était pas une utilisation équitable du détournement d'API Java sur Android?
Mesurez facilement la taille des objets Java
Raison pour ajouter L au nombre à mettre en type long Java
Comment trouver le nombre total de pages lors de la pagination en Java
Comment obtenir la date avec Java
Sortie du livre "Introduction à Java"
Comment obtenir le chemin absolu d'un répertoire s'exécutant en Java
L'histoire de l'écriture de Java dans Emacs
De Java à C et de C à Java dans Android Studio
[Débutant] Points à surveiller après les exercices Java / Héritage / Méthode abstraite [Note 26]
Faire correspondre le JSON du cas du serpent au champ du cas du chameau en Java (JVM)
AndroidStudio Faisons référence au C ++ dans le module des autres projets (Java / kotlin)
[Java] Est-il inutile de vérifier "l'identité" dans l'implémentation de la méthode equals ()?
Branchement conditionnel du résultat de l'instruction SQL pour n'en rechercher qu'une seule en Java
Je suis tombé sur la version Java dans Android Studio, je vais donc le résumer
Exemple de code pour obtenir les valeurs de type SQL clés dans Java + MySQL 8.0
L'histoire de la comparaison de chaînes de bas niveau en Java
[Java] Gestion des Java Beans dans la chaîne de méthodes
[Android] [Java] Gérer l'état de CheckBox de ListView
À propos de l'idée des classes anonymes en Java
CORBA semble avoir été supprimé dans Java SE 11. .. ..
L'histoire de l'apprentissage de Java dans la première programmation
Mesurer la taille d'un dossier avec Java
Ressentez le passage du temps même à Java
Il ne semble pas y avoir d'autre-si en java
[Java] Attention aux courts-circuits (évaluation des courts-circuits)
Développement de serveur Minecraft BE de PHP à Java
Le servlet Java doit être conscient de l'environnement multithread