Wird onCreate aufgerufen, obwohl Anwendung schon läuft?

  • Antworten:6
  • Bentwortet
Klaus
  • Forum-Beiträge: 33

13.12.2013, 07:06:59 via Website

Ich habe eine Anwendung mit grafischen Elementen,
die verschoben werden können, geschrieben.

Zu meiner Überraschung wurden diese grafischen Elemente
wieder in die Ausgangsposition gebracht, wenn
ich die App über den Zurückbutton verlasse
und die App dann wieder in den Vordergrund bringe.
Dies liegt daran, dass onCreate erneut aufgerufen
wird. Mir ist jedoch unklar, warum das so ist,
da ja meines Wissens Android Apps nur schließt,
wenn es Speicher- oder sonstige Probleme gibt.

Wenn ich die App jedoch über den Homebutton verlasse
und in die App wieder hineingehe, in dem ich den Homebutton
lange drücke und sie dann auswähle oder direkt durchs Drücken
auf den App-Button im Homescreen wieder in den Vordergrund bringe,
wird sie nicht neu gestartet (also kein onCreate-Aufruf) und
meine grafischen Elemente werden wieder so angezeigt, wie ich
sie verschoben habe.

Sowohl beim Verlassen der App über den Homebutton als
auch beim Verlassen der App über den Zurück-Button
ist unter Menü->Einstellen->Anwendungen->
Anwendungen verwalten->"Nur ausgeführte" der
Button Stoppen erzwingen enabled, was ich
so interpretiere, dass die App noch läuft.
Ist die Interpretation richtig?

Wenn ja:
Wenn die App sowohl weiterläuft, wenn ich sie über
Home- als auch über den Zurück-Button verlasse, verstehe
ich nicht, warum sie beim Verlasssen über den Zurückbutton
bei erneutem Aufruf neu gestartet wird (onCreate wird aufgerufen),
während sie beim Verlassen über den Homebutton nur wieder in
den Vordergrund kommt (ohne Neustart).

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

13.12.2013, 07:09:07 via App

Nein, die Interpretation ist nicht richtig.

Im Hintergrund läuft nichts weiter.

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
Klaus
  • Forum-Beiträge: 33

13.12.2013, 07:11:16 via Website

Und warum kann ich dann für eine nicht laufende App "Stoppen erzwingen"?

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

13.12.2013, 07:16:04 via App

Klaus
Und warum kann ich dann für eine nicht laufende App "Stoppen erzwingen"?
Das Beenden erzwingen bietet Android doch generell bei allen Apps an, selbst wenn man sie noch nie jemals gestartet hat...?

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
Klaus
  • Forum-Beiträge: 33

13.12.2013, 07:21:23 via Website

Wenn man eine App gestoppt hat, taucht sie unter "Nur ausgeführte" nicht mehr auf und unter
"Alle Anwendungen" ist "Stoppen erzwingen" bei dieser App dann deaktiviert.

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

13.12.2013, 07:58:51 via App

Klaus
Wenn man eine App gestoppt hat, taucht sie unter "Nur ausgeführte" nicht mehr auf und unter
"Alle Anwendungen" ist "Stoppen erzwingen" bei dieser App dann deaktiviert.
Echt?

Bei mir ist Beenden erzwingen bei jeder App möglich... :O

Bei den Akiven tauchen bei mir nur Apps auf, die auch Dienste laufen haben. Diese Dienste sind natürlich im Hintergrund aktiv. Dafür sind es ja Dienste...

Herzliche Grüße

Carsten

— geändert am 13.12.2013, 08:00:11

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
San Blarnoi
  • Forum-Beiträge: 2.545

13.12.2013, 09:39:54 via Website

Wenn die App sowohl weiterläuft, wenn ich sie über
Home- als auch über den Zurück-Button verlasse, verstehe
ich nicht, warum sie beim Verlasssen über den Zurückbutton
bei erneutem Aufruf neu gestartet wird

Ist eigentlich ganz einfach:
- mit dem Home-Button wechselst du zu einer anderen App
- mit dem Zurück-Button schließt du die aktuelle Activity
(man beachte den Unterschied in der Formulierung).

In beiden Fällen verbleibt die App üblicherweise im Hauptspeicher (im ersten Fall aus offensichtlichen Gründen, im zweiten um schneller und akkusparender wieder gestartet werden zu können).
Das wiederum erklärt den benutzbaren "Stoppen erzwingen" Button, dessen Beschriftung eigentlich "Was noch da ist aus dem Speicher entfernen" lauten müsste, sowie das Auftauchen in (und die Entfernbarkeit aus) den zuletzt gestarteten Anwendungen.

Antworten