Fassen Sie den Lebenszyklus von Java-Objekten zusammen, die bei der Android-Entwicklung berücksichtigt werden müssen

Lebenszykluskonzept in der Android-Entwicklung

In iOS haben der View Controller und die View Class das Konzept des Lebenszyklus. Es war sehr kompliziert, das automatische Layout einzustellen. Also habe ich mich gefragt, was mit Android passieren würde. Es war bekannt, dass Android auch einen Lebenszyklus in Aktivität hat, Ich habe heute zum ersten Mal gelernt, dass Sprachspezifikationen auch einen Lebenszyklus haben.

Vielleicht war mir Objective-C oder Swift gar nicht bewusst, Möglicherweise gab es einen Objektlebenszyklus.

Daher werde ich den Lebenszyklus in der mJava-Sprache zusammenfassen.

3 Arten von Java-Lebenszyklus

Es gibt ungefähr drei Arten von Objektlebenszyklen.

Lokale Variablen

Lokale Variablen sind Variablen, die nur innerhalb eines Verarbeitungsblocks verfügbar sind.

LocalVar.java


int sampleMethod() {
    int count = 0; //Lokale Variablen
    return count;
}

Es wird dort erstellt, wo die Variable deklariert und zerstört wird, wenn die Blockverarbeitung abgeschlossen ist.

Instanzvariable

Instanzvariablen sind Variablen, die als Felder in einer Klasse deklariert sind. Der Lebenszyklus einer Instanzvariablen entspricht dem Lebenszyklus einer Instanz einer Klasse. Erstellt, wenn das übergeordnete Objekt erstellt und zerstört wird, wenn das übergeordnete Objekt durch Müll gesammelt wird. Die Speicherbereinigung ist ein Mechanismus, der unnötige Bereiche des vom Programm zugewiesenen Speicherbereichs freigibt.

Klassenvariable

Eine Klassenvariable ist eine Variable, die als statisches Feld einer Klasse deklariert ist. Hat den längsten Lebenszyklus. Es wird erstellt, wenn die Klasse geladen und zerstört wird, wenn sie zerstört wird.

LifeCycleSample.java


public class LifeCycleSample {
  public static int classVariable = 1; //Klassenvariable
  public int instanceVarialbe = 1;     //Instanzvariable

  public void sampleMethod() {
    int localVariable = 1;            //Lokale Variablen
    return localVariable;
  }
}

Gute Praxis für den Lebenszyklus

Es gibt ungefähr zwei bewährte Methoden zum Deklarieren variabler Objekte.

  1. Verkürzen Sie den Lebenszyklus.
  2. Verlängern Sie den Lebenszyklus und verbessern Sie die Leistung.

Ich selbst habe versucht, den Umfang zu minimieren, indem ich bisher Variablen deklariert habe, sofern dies im Feld erforderlich ist. Wenn Sie es zu lange gedrückt halten, wird die Variable zu einem unbeabsichtigten Zeitpunkt von einem anderen Ort aufgerufen und der Status ändert sich (lacht). Es ist klar, dass unbeabsichtigte Programme Fehler verursachen können und so weit wie möglich vermieden werden sollten.

Für mich ist es also einfach, ein Muster zu erstellen, das den Lebenszyklus von 1 verkürzt.

Recommended Posts

Fassen Sie den Lebenszyklus von Java-Objekten zusammen, die bei der Android-Entwicklung berücksichtigt werden müssen
Dinge, die Sie beim Schreiben von Code in Java beachten sollten
Android-Entwicklung, wie man den Wert des JSON-Objekts auf null überprüft
Dinge, die Sie beim Schreiben von Java beachten sollten
Fassen Sie den Lebenszyklus von Java-Objekten zusammen, die bei der Android-Entwicklung berücksichtigt werden müssen
Den aktuellen Status von Java organisieren und die Zukunft betrachten
Überwachen Sie den internen Status von Java-Programmen mit Kubernetes
Achten Sie auf die Speicherbereinigung und vermeiden Sie Speicherlecks
Ich habe versucht, die Methoden von Java String und StringBuilder zusammenzufassen
[Java] Dinge, die Sie bei der Ausgabe von FizzBuzz beachten sollten
Fassen Sie die zusätzlichen Elemente der optionalen Klasse in Java 9 zusammen
[Java] [Microsoft] Beachten Sie Folgendes, wenn Sie den SQL Server-JDBC-Treiber in eine JAR-Datei aufnehmen
Über den Android-Lebenszyklus
Ich habe versucht, die Grundlagen von Kotlin und Java zusammenzufassen
Siehe C ++ im Android Studio-Modul (Java / Kotlin)
[Android, Java] Praktische Methode zur Berechnung der Differenz in Tagen
[Java Silver] Hinweise zu switch-Anweisungen
So implementieren Sie eine einzeilige Anzeige von TextView in der Android-Entwicklung
So leiten Sie den letzten Tag des Monats in Java ab
[Rails] Bei der Beschreibung der Validierung ist Vorsicht geboten
Stellen Sie sicher, dass Sie das Java compareTo-Ergebnis mit 0 vergleichen
Über die Grundlagen der Android-Entwicklung
Um auf einfach zu lesenden Code zu achten
Ein Neuling versucht, die Android-Ansicht zusammenzufassen (Entwicklung von Android-Anfängern)
Geben Sie die Differenz zwischen jedem Feld zweier Objekte in Java aus
Die in /lib/calendars.properties von Java jre festgelegte Millisekunde ist UTC
Ich habe versucht, die Methoden von Java String und StringBuilder zusammenzufassen
Beurteilen Sie, ob die zu vergleichenden Zeichenfolgen in Java identisch sind
So ermitteln Sie die Länge einer Audiodatei mit Java
So erhöhen Sie den Wert von Map in einer Zeile in Java
Holen Sie sich das Ergebnis von POST in Java
Java-Referenz zum Verständnis in der Abbildung
Die Geschichte, zu vergessen, eine Datei in Java zu schließen und zu scheitern
[Java] Äquivalenzvergleich, bei dem Anfänger beim Vergleich von Zeichenfolgen fehlschlagen. Möglicherweise sind Sie sich des Fehlers nicht einmal bewusst! ??
Ich habe versucht, die wichtigsten Punkte des gRPC-Designs und der Entwicklung zusammenzufassen
Zusammenfassung der Bibliotheken, die in der jüngsten Android-Entwicklung (2019/11) häufig verwendet zu werden scheinen
Was war keine faire Verwendung der Java-API-Umleitung unter Android?
Messen Sie einfach die Größe von Java-Objekten
Grund, L zu der Zahl hinzuzufügen, die in den langen Java-Typ eingegeben werden soll
So ermitteln Sie die Gesamtzahl der Seiten beim Paging in Java
So erhalten Sie das Datum mit Java
Ausgabe des Buches "Einführung in Java"
So ermitteln Sie den absoluten Pfad eines in Java ausgeführten Verzeichnisses
Die Geschichte des Schreibens von Java in Emacs
Von Java nach C und von C nach Java in Android Studio
[Anfänger] Punkte, auf die Sie nach Java-Übungen / Vererbung / abstrakte Methode achten sollten [Anmerkung 26]
Stellen Sie sicher, dass der JSON des Schlangenfalls dem Feld des Kamelfalls in Java (JVM) entspricht.
AndroidStudio Verweisen wir auf C ++ im Modul anderer Projekte (Java / Kotlin).
[Java] Ist es nicht erforderlich, "Identität" bei der Implementierung der equals () -Methode zu überprüfen?
Bedingte Verzweigung des Ergebnisses einer SQL-Anweisung, die nur eine in Java durchsucht
Ich bin auf die Java-Version in Android Studio gestoßen, daher werde ich sie zusammenfassen
Beispielcode zum Abrufen der wichtigsten SQL-Typwerte in Java + MySQL 8.0
Die Geschichte des einfachen String-Vergleichs in Java
[Java] Behandlung von Java Beans in der Methodenkette
[Android] [Java] Verwalten Sie den Status der CheckBox von ListView
Über die Idee anonymer Klassen in Java
CORBA scheint in Java SE 11 entfernt zu sein. .. ..
Die Geschichte des Lernens von Java in der ersten Programmierung
Messen Sie die Größe eines Ordners mit Java
Spüren Sie den Lauf der Zeit auch in Java
Es scheint kein anderes zu geben - wenn in Java
[Java] Kurzschlüsse beachten (Kurzschlussauswertung)
Minecraft BE Serverentwicklung von PHP nach Java
Java Servlet sollte die Multithread-Umgebung kennen