Der Lebenszyklus einer Android-Anwendung

Basic-Guide-Programmierung-Android-2

Wenn Sie mit dem Programmieren in einer Sprache wie C++ oder Java beginnen, lernen Sie als Erstes die Hauptmethode, den Punkt, den das Betriebssystem aufruft, wenn wir unsere Anwendung starten.

In Android gibt es keine Hauptmethode als solche, aber es gibt mehrere Methoden unserer Aktivität, die von SSOO aufgerufen werden, wenn sie auftreten wichtige Ereignisse. In diesem Kapitel werden wir eingehend untersuchen, was diese Ereignisse sind und wie sie funktionieren. der vollständige Zyklus einer Aktivität von Android. offizielle Dokumentation bietet eine ausführliche Erläuterung dieses Themas. Hier werden wir die wichtigsten Elemente sowie einige häufige Fehler bei der Handhabung dieser Elemente untersuchen.

Der Android-Lebenszyklus folgt diesem Schema:

Android-Lebenszyklus

Lebenszyklusereignisse

  1. onCreate (Bundle)
    • Es stellt den Moment dar, in dem Die Aktivität wird erstellt. Diese Methode wird normalerweise vom Assistenten generiert, wenn Sie eine neue Aktivität in Android erstellen. Hier erstellen wir alles, was die Aktivität benötigt. Wenn wir die Aktivitätsdaten zuvor in einem Bundle-Objekt gespeichert haben, können wir es zur Neugenerierung verwenden. Normalerweise werden wir es nicht verwenden.
  2. am Start()
    • Die Aktivität wird an gehen auf dem Bildschirm sein, obwohl nicht unbedingt sichtbar. Wenn wir von einer Haltestelle kommen, durchlaufen wir zunächst onRestart().
  3. onRestart ()
    • Vor onStart(), wenn von einem Aufruf zu onStop() fortgefahren wird.
  4. onResume ()
    • Die Aktivität wird gestartet auf Interaktion reagieren des Benutzers.
  5. onPause ()
    • Die Aktivität wird Hör auf zu antworten zur Benutzerinteraktion.
  6. onStop ()
    • Die Aktivität wurde vollständig verschoben Hintergrund.
  7. onDestroy ()
    • Aktivität wird zerstört und seine Ressourcen freigegeben.

Wenn wir eine dieser Methoden implementieren müssen, tun wir dies, indem wir diese Profile zu unserer Aktivität hinzufügen:

öffentliche Klasse MyActivity erweitert Aktivität { protected void onCreate(Bundle savingInstanceState) { super.onCreate(savedInstanceState); ... } protected void onStart() { super.onStart(); ... } protected void onRestart() { super.onRestart(); ... } protected void onResume() { super.onResume(); ... } protected void onPause() { ... super.onPause(); } protected void onStop() { ... onStop(); } protected void onDestroy() { ... super.onDestroy(); } }

Es ist wichtig, das zu behalten Aufruf einer Superklassenmethode um keine Überraschungen zu erleben. Die über unserer Tätigkeit liegenden Aufgabenstellungen jeder Veranstaltung müssen eingehalten werden. Dieser Aufruf geht an den Anfang der Eingabeereignisse und an das Ende der Ausgabeereignisse. Auf diese Weise vermeiden wir Überraschungen, da die Elemente der Aktivität, die wir benötigen, aber nicht unter unserer Kontrolle stehen, vor ihrer Verwendung erstellt und anschließend zerstört werden.

Wir müssen nicht alle Ereignisse hinzufügen, diejenigen, die wir nicht benötigen, verwenden die Standardimplementierung. Die Methoden, die wir häufig verwenden – und es wird nicht empfohlen, die anderen zu berühren – sind onCreate, onPause und onRestart.

Die Bedeutung von onCreate ist klar: Es ist der Ort, an den wir die benötigten Ressourcen, die Ansichten und alles andere, was wir brauchen, laden. Für die Ausgabe konzentrieren wir uns nur auf onPause. Der Grund, onStop und onDestroy zu vermeiden, besteht darin, dass wir keine Kontrolle über sie haben. onPause wird immer dann ausgeführt, wenn die App den Vordergrund verlässt, während die anderen beiden vom Betriebssystem entsprechend seinen Anforderungen ausgeführt werden. Sie werden vielleicht nie rennen können! Dies geschieht, um die Kosten für die wiederholte Erstellung der Aktivität zu vermeiden, wenn wir von der Aktivität zum Desktop wechseln und umgekehrt, und das Betriebssystem gibt die verwendeten Ressourcen nur dann frei, wenn es sie benötigt, und muss nicht alle offenen Prozesse bedienen.

Das bedeutet, dass wir davon ausgehen, dass die Anwendung nach der Ausführung von onPause abstürzt und dass es sich um unsere eigene handelt letzte Chance, Daten zu retten die wir speichern müssen, und die von uns genutzten Dienste wie die Geolokalisierung zu stoppen. Wenn wir Dienste gestoppt haben, ist onRestart der geeignete Ort, um sie neu zu starten.

Die anderen Methoden werden wir nicht oft verwenden müssen. Ein häufiger Fall, in dem wir es benötigen, ist die Integration von Bibliotheken von Drittanbietern wie Facebook oder Flurry. In diesen Fällen werden wir aufgefordert, die Methoden unserer Aktivität an ihren Code zu binden. Um beispielsweise eine Flurry-Sitzung zu registrieren, werden wir aufgefordert, die Sitzung mit der onStart-Methode zu starten.

einige nützliche Ideen

  • Denken Sie daran, wofür jede Veranstaltung gedacht ist. Sie benötigen immer onCreate, und häufig benötigen Sie onPause und onResume, um die am meisten verbrauchenden Dienste zu stoppen und neu zu starten.
  • Berühren Sie nicht die anderen Ereignisse wenn Sie es nicht unbedingt benötigen.
  • Vertraue onStop und onDestroy nicht, Sie werden vielleicht nie aufgerufen. Speichern Sie alles, was Sie brauchen, in onPause.
  • Vermeiden Sie die Verwendung nicht endgültiger statischer Variablen. Die App kann bei Ihrer Rückkehr weiterhin geladen werden und behält die Werte bei, die sie hinterlassen hat. Wenn Sie keine andere Wahl haben, als sie zu verwenden, stellen Sie sicher, dass Sie ihre Werte zurücksetzen, wenn Sie in den Vordergrund zurückkehren.

Mehr Informationen - Grundlegende Anleitung zur Programmierung in Android


Du bist interessiert in:
So entfernen Sie Viren auf Android
Folgen Sie uns auf Google News

Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Actualidad Blog
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.