Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Android CPU Auslastung beim wiederholten Start/Beenden der Activitys

Das Thema "Android CPU Auslastung beim wiederholten Start/Beenden der Activitys" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 20.10.2011, 12:49   #1 (permalink)
Neuer Benutzer

Registriert seit: 20.10.2011
Beiträge: 2
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Android CPU Auslastung beim wiederholten Start/Beenden der Activitys

Guten Morgen liebe Android Forumuser,

ich habe ein kleines Problem mit meiner App.

Also zuerst starte ich eine Activity "Anmeldung", welche mich bei einer erfolgreichen Anmeldung auf die Activity "Wiegemaske" leitet.

Nun wenn ich auf der Wiegemaske den Zurück Button auf dem Handy drücke, habe ich folgenden Code eingetragen:

Code:
public void onDestroy()
        {
            super.onDestroy();
            Wiegemaske_Binder.SocketTrennen();
            Wiegemaske_Binder.TimerStartStop(false);
            unbindService(Wiegemaske_ServiceConnection);
            
            finish();
            
        }
Nun zu meinem Problem:

Starte App: 0-1% CPU-Auslastung
Anmelden erfolgreich auf Wiegemaske: 0-1% CPU-Auslastung
Zurück Button zur Anmeldung: 0-1% CPU-Auslastung

Erneuts Drücken auf Anmelden, welche mich auf die Wiegemaske bringt:
85-97% CPU-Auslastung UND mein Service dahinter funktioniert nicht mehr.


Wird die Wiegemaske überhaupt richtig beendet? ... habe das Gefühl das diese weiter im Hintergrund läuft und sobald ich diese dann erneut starte es etwas aus dem Ruder läuft.

Bitte um Hilfe!

Mit freundlichen Grüßen

Times
Times ist offline   Mit Zitat antworten
Alt 10.11.2011, 10:27   #2 (permalink)
Neuer Benutzer

Registriert seit: 20.10.2011
Beiträge: 2
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Android CPU Auslastung beim wiederholten Start/Beenden der Activitys

/push ...

habe leider noch immer dieses Problem, hat niemand ein ähnliches Problem oder einen Lösungsversuch?!
Times ist offline   Mit Zitat antworten
Alt 13.11.2011, 11:22   #3 (permalink)
Android Experte

Modell: Sony Ericsson Xperia X10 Mini

Registriert seit: 18.07.2010
Beiträge: 601
Abgegebene Danke: 11
Erhielt 90 Danke für 82 Beiträge
Standard AW: Android CPU Auslastung beim wiederholten Start/Beenden der Activitys

lass das super.onDestroy(); mal weg (oder schieb es hinter die wiegemaskesachen) und mach aus dem finish(); ein this.finish();
hadez ist offline   Mit Zitat antworten
Alt 13.11.2011, 16:33   #4 (permalink)
Android-Hilfe.de Mitglied

Modell: Acer Iconia A100

Registriert seit: 28.10.2011
Beiträge: 127
Abgegebene Danke: 15
Erhielt 13 Danke für 11 Beiträge
Standard AW: Android CPU Auslastung beim wiederholten Start/Beenden der Activitys

Zitat:
Zitat von Times Beitrag anzeigen
Guten Morgen liebe Android Forumuser,

ich habe ein kleines Problem mit meiner App.

Also zuerst starte ich eine Activity "Anmeldung", welche mich bei einer erfolgreichen Anmeldung auf die Activity "Wiegemaske" leitet.

Nun wenn ich auf der Wiegemaske den Zurück Button auf dem Handy drücke, habe ich folgenden Code eingetragen:

Code:
public void onDestroy()
        {
            super.onDestroy();
            Wiegemaske_Binder.SocketTrennen();
            Wiegemaske_Binder.TimerStartStop(false);
            unbindService(Wiegemaske_ServiceConnection);
            
            finish();
            
        }
Nun zu meinem Problem:

Starte App: 0-1% CPU-Auslastung
Anmelden erfolgreich auf Wiegemaske: 0-1% CPU-Auslastung
Zurück Button zur Anmeldung: 0-1% CPU-Auslastung

Erneuts Drücken auf Anmelden, welche mich auf die Wiegemaske bringt:
85-97% CPU-Auslastung UND mein Service dahinter funktioniert nicht mehr.


Wird die Wiegemaske überhaupt richtig beendet? ... habe das Gefühl das diese weiter im Hintergrund läuft und sobald ich diese dann erneut starte es etwas aus dem Ruder läuft.

Bitte um Hilfe!

Mit freundlichen Grüßen

Times



das inflaten eines Layouts ist natürlich resource-intensiv. Erklärt natürlich nicht warum es
Beim ersten mal nur 1% und beim nächstenmal über 90% sind.

Im übrigen solltest Du die onDestroy() nicht benutzen. Android garantiert nicht daß im Lebenszyklus einer Activity onDestroy() jemals aufgerufen wird.

Laut SDK sind alle callbacks ab onPause() killable, d.h. optional.

Die Methode finish() existiert zwar, aber sollte im Normalfall nie aufgerufen werden. Der ActivityManager weiss am besten wann es an der Zeit ist eine Activity zu killen.
Es mag seltsam erscheinen, aber das hat damit zutun wie Benutzer ein Androidgerät bedienen.
Z.b. der Benutzer hat deine App offen und befindet sich in einer bestimmten Activity. Eine SMS wird empfangen. Der Benutzer öffnet die entsprechende Activity um die SMS zulesen.
Deine Activity verschwindet im Hintergrund, der ActivityManager schliesst sie aber nicht, da davon auszugehen ist, dass der Benutzer nach lesen der SMS, zu deiner Activity zurück kehren möchte. Da es sehr resourcenintensiv wäre, deine App neu zu starten, wird der ActivityManager alle Activities im Speicher halten solange es geht.
Während unter Windows freier Speicher wünschenswert ist, ist in Android das Gegenteil der Fall.

Also, lasst den ActivityManager seine Arbeit tun, und seid glücklich euch nicht um den Lebenszyklus und das Memorymanagement Gedanken zu machen. Euch ist sicherlich schon aufgefallen, daß die Mehrzahl aller Android Apps gar keinen 'Beenden' Button haben, und zwar genau aus genannten Gründen.
mradlmaier ist offline   Mit Zitat antworten
Alt 13.11.2011, 16:40   #5 (permalink)
Android-Hilfe.de Mitglied

Modell: Acer Iconia A100

Registriert seit: 28.10.2011
Beiträge: 127
Abgegebene Danke: 15
Erhielt 13 Danke für 11 Beiträge
Standard AW: Android CPU Auslastung beim wiederholten Start/Beenden der Activitys

Zitat:
Zitat von mradlmaier Beitrag anzeigen
das inflaten eines Layouts ist natürlich resource-intensiv. Erklärt natürlich nicht warum es
Beim ersten mal nur 1% und beim nächstenmal über 90% sind.

Im übrigen solltest Du die onDestroy() nicht benutzen. Android garantiert nicht daß im Lebenszyklus einer Activity onDestroy() jemals aufgerufen wird.

Laut SDK sind alle callbacks ab onPause() killable, d.h. optional.

Die Methode finish() existiert zwar, aber sollte im Normalfall nie aufgerufen werden. Der ActivityManager weiss am besten wann es an der Zeit ist eine Activity zu killen.
Es mag seltsam erscheinen, aber das hat damit zutun wie Benutzer ein Androidgerät bedienen.
Z.b. der Benutzer hat deine App offen und befindet sich in einer bestimmten Activity. Eine SMS wird empfangen. Der Benutzer öffnet die entsprechende Activity um die SMS zulesen.
Deine Activity verschwindet im Hintergrund, der ActivityManager schliesst sie aber nicht, da davon auszugehen ist, dass der Benutzer nach lesen der SMS, zu deiner Activity zurück kehren möchte. Da es sehr resourcenintensiv wäre, deine App neu zu starten, wird der ActivityManager alle Activities im Speicher halten solange es geht.
Während unter Windows freier Speicher wünschenswert ist, ist in Android das Gegenteil der Fall.

Also, lasst den ActivityManager seine Arbeit tun, und seid glücklich euch nicht um den Lebenszyklus und das Memorymanagement Gedanken zu machen. Euch ist sicherlich schon aufgefallen, daß die Mehrzahl aller Android Apps gar keinen 'Beenden' Button haben, und zwar genau aus genannten Gründen.
Bemerkung: Ich habe nochmal in der SDK geguckt. Ab Honeycomb gibt es eine Änderung:
alle callbacks bis einschliesslich onStop() werden aufgerufen. Dasgilt aber nur ab Android 3.0
mradlmaier ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
"android.process.media" läuft dauerhaft mit 70-95% CPU-Auslastung --> Woran liegts? Eol Motorola Defy Forum 8 14.06.2011 20:07
[Info] CPU Auslastung Nimanic Acer Iconia A500 / A501 Forum 4 07.05.2011 17:11
CPU-Auslastung Castaneda HTC Desire Z Forum 7 07.03.2011 21:10
golauncher cpu-auslastung p800-luki Root / Hacking / Modding für Motorola Defy 11 24.02.2011 16:21
CPU Auslastung almo72 HTC Hero / T-Mobile G2 Touch Forum 2 30.09.2010 20:50




Du liest gerade: "Android CPU Auslastung beim wiederholten Start/Beenden der Activitys" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.