Android-Aktivität Lebenszyklus in Jelly Bean

8

Ich entwickle seit einigen Monaten eine Anwendung und mache mich bereit für die Veröffentlichung. Ich habe das Motorola Xoom mit Android 4.0.4 zum Testen während des gesamten Prozesses verwendet und alles hat fehlerfrei funktioniert. Ich habe ein Nexus 7 von Google (mit Jelly Bean 4.1) gekauft und erhalte jetzt alle möglichen Probleme mit dem Aktivitätszyklus, wenn das Gerät schläft oder sich ausschaltet.

Ich habe ein neues Projekt zu dem einzigen Zweck erstellt, den Lebenszyklus zu überprüfen, und das sind die Ergebnisse, die ich mir ausgedacht habe. Der folgende Code ist ein Beispiel dafür, was ich in den einzelnen Lebenszyklusmethoden getan habe.

%Vor%

Ergebnisse von Xoom (erwartete Ergebnisse)

%Vor%

Ergebnisse von Nexus 7 (unerwartete Ergebnisse)

%Vor%

Diese Ergebnisse stammen wiederum aus einem brandneuen Projekt ohne Codeänderungen, die sich von den Log-Anweisungen in den einzelnen Methoden unterscheiden. Warum gibt es so viele zusätzliche unnötige Methodenaufrufe, wenn das Nexus 7 aus- und wieder eingeschaltet wird? Es scheint die Anwendung vollständig zu zerstören und dann neu zu erstellen.

Aus Gründen der Vollständigkeit scheint der Lebenszyklus bei der Verwendung der Home-Schaltfläche und dem anschließenden Neustart der Anwendung zwischen den Geräten konsistent zu sein.

Vielen Dank im Voraus für jede Hilfe. Wayne

    
mcwadar 26.07.2012, 19:26
quelle

2 Antworten

4

Es sieht so aus, als ob Ihre Aktivität in den entsprechenden Szenarien neu erstellt wird. Dies tritt normalerweise auf, wenn eine Konfigurationsänderung im System auftritt. Ihre Aktivität wird standardmäßig neu erstellt und neu gestartet, es sei denn, Sie entscheiden sich explizit dafür, die Konfigurationsänderung selbst zu übernehmen. Sie sollten diese Liste überprüfen. Eine dieser Änderungen kann beim Ein- / Ausschalten auftreten Ihr Bildschirm (wie Sie sicher das Gerät nicht gleichzeitig drehen).

Über Konfigurationsänderungen können Sie auf dieser offiziellen Seite nachlesen.

>     
Thomas Calc 26.07.2012, 20:02
quelle
6

Jelly Bean 4.1 - Nexus 7 hat eine Option auf diesem Pfad:

  

Einstellungen - & gt; Entwickleroptionen - & gt; Aktiviere keine Aktivitäten ...

Diese Option wird alle Aktivitäten beenden, die in den Hintergrund treten. Wenn Android den Status auf "Schlafen" und "Aufwachen" ändert, wird Ihre Aktivität zerstört und neu erstellt.

    
coutol 18.09.2012 09:47
quelle

Tags und Links