Multitasking

In kurzen Worten, ich habe es woanders schon genauer geschrieben:
Wenn du eine App im falschen Moment killst, sprich genau da wo sie etwas abspeichert, kann es passieren, dass das File defekt ist und beim nächsten Start - im Schlimmstenfall beim Handystart - nicht mehr laden kann und abschmiert. Dann ist nix mehr mit booten ;)

und wie Rene schon sagte, solange ich durch nichts benachteiligt bin... solls laufen.

Achja, bin auch Programmierer, allerdings am PC Sektor, denke mir aber, dass sich Google bei dem OS schon etwas gedacht hat. Also nicht ganz weit von der Materie entfernt.
 
Also, ich habe bevor ich den Thread hier und vor allem den verlinkten Artikel gelesen habe auch den Advanced Taskkiller Free benutzt. Da ich als alter WiMo Nutzer gerne alle Anwendungen die im Hintergrund laufen beende :D

Nach dem Lesen des Artikels allerdings habe ich mich entschieden das in Zukunft bleiben zu lassen! Es stellt sich mir trotzdem die Frage, ob Programme im Hintergrund viel Leistung fressen (auch wenn sie in "Standby"-Modus sind). Ich bin nämlich einer von der Sorte, der, wenn er erstmal mit seinem Handy beschäftigt ist, gleich tausend Apps nacheinander benutzt und ich hatte schon das Gefühl, dass das Legend dadurch langsamer wird (das war auch der Grund warum ich mir einen Taskkiller zu gelegt hatte).


Die nächste Frage bezieht sich auf eine Aussage aus dem Artikel:
"Durch das erzwungene, nicht vom System gesteuerte Beenden können also Daten im Speicher zurückbleiben und damit genau das Gegenteil von dem erhofften Ergebnis eintreten."
Hintergrund: Arbeitsspeicher-Verwaltung unter Android | Androidig.de

Könnte ich den Speicher meines Legends schon jetzt durch intensive dreitägige Nutzung eines Taskkillers minimiert haben?
Ich bin dabei so vor gegangen, dass ich die Memory Funktion des Advanced Taskkillers genutzt habe. Will heißen ich habe das Legend neu gestartet und ihm dann befohlen, es sollen nur die Apps gekillt werden, welche nicht im Autostart mit hochfahren und sich somit nicht gelegentlich selber aktualisieren.

Vielen Dank und liebe Grüße

PS.: Taskkiller ist deinstalliert ;)
 
walda schrieb:
In kurzen Worten, ich habe es woanders schon genauer geschrieben:
Wenn du eine App im falschen Moment killst, sprich genau da wo sie etwas abspeichert, kann es passieren, dass das File defekt ist und beim nächsten Start - im Schlimmstenfall beim Handystart - nicht mehr laden kann und abschmiert. Dann ist nix mehr mit booten ;)

Richtig, aber genau da ist die Frage, welche Messages es zum Beenden eines Programmes gibt und welche gesendet wird. Wenn du beim PC @ Windows programmierst, sollte dir z.B. die Messages WM_CLOSE, WM_QUERYENDSESSION & WM_ENDSESSION geläufig sein. Die letzteren sendet Windows z.B. beim Herunterfahren, Programme werden dabei aufgefordert, sich zu beenden (können es aber auch ablehnen) und haben so eben die Möglichkeit, Speicherungen durchzuführen. Erst bei Nicht-Reagieren, gehts da härter zur Sache.

Von daher müßte man halt wirklich wissen, was das Teil da sendet und wie verarbeitet wird, bevor man das Teil verteufelt. Ich gehe aber mal ganz einfach davon aus, dass da einfach sowas wie WM_CLOSE gesendet wird... Wenn ich mal tiefer in die Sache einsteige, checke ich das mal mit einem Dauerschreib-Programm ab, wie das effektiv reagiert...
 
walda schrieb:
Wenn du eine App im falschen Moment killst, sprich genau da wo sie etwas abspeichert, kann es passieren, dass das File defekt ist und beim nächsten Start - im Schlimmstenfall beim Handystart - nicht mehr laden kann und abschmiert. Dann ist nix mehr mit booten ;)
Das dürfte allerdings nicht möglich sein. Apps haben nur Zugriff auf ihre eigenen Daten, also sollte es beim ultimativen Super-GAU nur dazu führen können, dass die App selbst nicht mehr starten kann. Apps können irgendwelche Systemdateien gar nicht verkorksen.

smooth raw schrieb:
Nach dem Lesen des Artikels allerdings habe ich mich entschieden das in Zukunft bleiben zu lassen! Es stellt sich mir trotzdem die Frage, ob Programme im Hintergrund viel Leistung fressen (auch wenn sie in "Standby"-Modus sind). Ich bin nämlich einer von der Sorte, der, wenn er erstmal mit seinem Handy beschäftigt ist, gleich tausend Apps nacheinander benutzt und ich hatte schon das Gefühl, dass das Legend dadurch langsamer wird (das war auch der Grund warum ich mir einen Taskkiller zu gelegt hatte).
Erstmal: Die Apps, die nur schlafen gelegt werden, verbrauchen wie gesagt nichts.
Bei den Apps, die weiter im Hintergrund werkeln, kommt es halt ganz drauf an, was genau sie machen. Es gibt z. B. Widgets, die sich (z. B.) alle 30 Minuten aktualisieren. Die brauchen dann genau alle 30 Minuten ein bisschen Leistung, vermutlich dann auch relativ wenig.
Aber da ist natürlich auch alles vorstellbar, bis zu einer App, die eben konstant Leistung saugt, da sie auch die ganze Zeit etwas macht. Aber das müsste dann eben schon fast Absicht sein und durch den User irgendwie bemerkt werden (z. B. weil die App sich hin und wieder mal meldet oder so Zeug).

smooth raw schrieb:
Die nächste Frage bezieht sich auf eine Aussage aus dem Artikel:
"Durch das erzwungene, nicht vom System gesteuerte Beenden können also Daten im Speicher zurückbleiben und damit genau das Gegenteil von dem erhofften Ergebnis eintreten."
Hintergrund: Arbeitsspeicher-Verwaltung unter Android | Androidig.de
Da wirds jetzt eigentlich schon sehr kompliziert, und mir zu hoch. Vielleicht kann jemand anders mehr dazu sagen.
 
smooth raw schrieb:
Die nächste Frage bezieht sich auf eine Aussage aus dem Artikel:
"Durch das erzwungene, nicht vom System gesteuerte Beenden können also Daten im Speicher zurückbleiben und damit genau das Gegenteil von dem erhofften Ergebnis eintreten."

Vermutlich auch nur Spekulation. Ich gehe mal davon aus, dass das System beim Closen einer Anwendung per Message den Speicher über einen Garbage-Collector freigibt. Ggf wird der Inhalt noch im Speicher stehen, aber die Bereiche sind zur Neunutzung wieder freigegeben. Das System selbst weiß ja, welcher App welche Speicheradressen zugewiesen wurden... Von daher halte ich die Behauptung oben nicht für wirklich real...
 
mike3k schrieb:
Richtig, aber genau da ist die Frage, welche Messages es zum Beenden eines Programmes gibt und welche gesendet wird. Wenn du beim PC @ Windows programmierst, sollte dir z.B. die Messages WM_CLOSE, WM_QUERYENDSESSION & WM_ENDSESSION geläufig sein. Die letzteren sendet Windows z.B. beim Herunterfahren, Programme werden dabei aufgefordert, sich zu beenden (können es aber auch ablehnen) und haben so eben die Möglichkeit, Speicherungen durchzuführen. Erst bei Nicht-Reagieren, gehts da härter zur Sache.
Völlig richtig. Ich habe aber eben gelesen, dass Android quasi über die QueryEndsession geht und der Tastkkiller einfach den Prozess killt.

Pyrazol schrieb:
Das dürfte allerdings nicht möglich sein. Apps haben nur Zugriff auf ihre eigenen Daten, also sollte es beim ultimativen Super-GAU nur dazu führen können, dass die App selbst nicht mehr starten kann. Apps können irgendwelche Systemdateien gar nicht verkorksen.
Jaja, das ist schon klar. Aber wenn man sich mal ansieht, was für Apps nach dem Programmstart laufen, die IMHO nicht laufen müssten... Wenn nun so eine App ihre Datei nicht mehr lesen kann und dadurch abschmiert - bleibt sie im Hintergrund hängen(?), was sein kann bzw ist für den Anwender unbrauchbar, da sie ja eben nicht mehr ordnungsgemäß startet und somit nicht verwendet werden kann.

Aber wiegesagt - soll jeder für sich selber entscheiden, ist halt Geschmacksache :)
 
Ich hoffe, dieser Thread ist der richtige, möchte keinen neuen aufmachen.

Für mich ist das ja alles Neuland.

Ich versuche mal zusammenzufassen:

Programme, die nicht aktiv benutzt werden, bleiben im Speicher in einer Art "Schlafmodus" und verbrauchen dort keinen Akku. Sie verbrauchen erst wieder Akkuleistung, wenn sie etwas tun sollen, also durch einen vorgegebenen Zeitplan geweckt und aktiviert werden, danach legen sie sich wieder schlafen.

Ich würde daraus zwei Schlüsse ziehen: bei Apps, die Informationen mit dem Netz austauschen, macht es Sinn, zur Verlängerung der Akkudauer den ggf. definierbaren Zeitplan näher zu betrachten, also Mails nicht alle 5 Minuten pushen lassen, sondern z.b. alle 6 Stunden, damit würde sich auch die Aktivität der Apps verringern und entsprechend Akkuleistung gespart werden.

Durch Ausschalten der Internetverbindung (wobei ja EDGE bzw GRPS bei deaktiviertem 3G trotzdem aktiv bleibt, oder?) würde demnach ja selbst bei dem Versuch, aktiv zu werden, keine Verbindung zustande kommen und die Beanspruchung des Akkus ebenfalls verhindert werden. Schiebt denn das deaktivierte Netz den Apps gewissermaßen einen "Riegel" vor oder würden diese versuchen, trotzdem eine Verbidnung herzustellen?

Gruß
 
LarsD schrieb:
Programme, die nicht aktiv benutzt werden, bleiben im Speicher in einer Art "Schlafmodus" und verbrauchen dort keinen Akku. Sie verbrauchen erst wieder Akkuleistung, wenn sie etwas tun sollen, also durch einen vorgegebenen Zeitplan geweckt und aktiviert werden, danach legen sie sich wieder schlafen.
Einfach gesagt, ja. Im Grunde ist es schon noch etwas komplizierter, aber für eine generelle Betrachtung reicht das wohl so.

LarsD schrieb:
Ich würde daraus zwei Schlüsse ziehen: bei Apps, die Informationen mit dem Netz austauschen, macht es Sinn, zur Verlängerung der Akkudauer den ggf. definierbaren Zeitplan näher zu betrachten, also Mails nicht alle 5 Minuten pushen lassen, sondern z.b. alle 6 Stunden, damit würde sich auch die Aktivität der Apps verringern und entsprechend Akkuleistung gespart werden.
Das auf jeden Fall. Braucht eine E-Mail App jetzt (rein beispielhaft, keine Real World-Zahlen hier ;)) 1% für das einmalige Abrufen der E-Mails, verbraucht sie bei einem 5-Minuten-Intervall innerhalb einer Stunde 12%; bei einem 1-Stunden-Intervall naturgemäß nur 1%.
Ist halt abzuwägen, inwiefern das für den Nutzer sinnvoll ist.

LarsD schrieb:
Durch Ausschalten der Internetverbindung (wobei ja EDGE bzw GRPS bei deaktiviertem 3G trotzdem aktiv bleibt, oder?) würde demnach ja selbst bei dem Versuch, aktiv zu werden, keine Verbindung zustande kommen und die Beanspruchung des Akkus ebenfalls verhindert werden. Schiebt denn das deaktivierte Netz den Apps gewissermaßen einen "Riegel" vor oder würden diese versuchen, trotzdem eine Verbidnung herzustellen?
Das kann man allgemein nicht ganz sagen. Auf jeden Fall nicht richtig ist, dass Apps, die die Internetverbindung brauchen, keinen Strom ziehen wenn die Verbindung inaktiv ist.
Das kann man sich so vorstellen:
- App will um 15:12 E-Mails abrufen
- App schickt um 15:12 eine Anfrage an das OS: "will Internet!"
- OS sagt "gibt's nicht!"
- App legt sich wieder schlafen - ohne E-Mails abgerufen zu haben, aktiv war sie aber trotzdem.
Allein in diesem Zyklus ist die App ja schon aktiv.
DANN ist aber immernoch die Frage, was dann passiert. Die App könnte dann z. B. immer wieder in kurzen Intervallen versuchen, E-Mails abzurufen, weil sie erwartet, dass die Verbindung gleich wieder besteht (wird zwar, wenn sie richtig programmiert ist, nicht passieren, weil es da bei Android andere Möglichkeiten gibt - aber soll ja nur eine Modellvorstellung sein hier).
Der Punkt ist, man kann nicht sagen, was die App wann genau wie macht. Insofern ist die einzige Möglichkeit, sicher zu gehen, dass die App keinen Strom verbraucht, sie nicht zu verwenden, die stromverbrauchenden Komponenten zu deaktivieren, etc. etc. (je nachdem was es eben für eine App ist).
 
Gerade das letzte Szenario ist mir auch schon durch den Kopf gegangen. Blockierte Internetleitung = Versuch, Connection herzustellen = Fehlversuche = Aktivität.

Da man allerdings im Android 2.1 direkt per Widget das Internet deaktivieren kann, würde ich unterstellen, dass dann auch solche Anfragen nicht auftreten sollten.

Interessant wäre auch zu wissen, wie bei einem Szenenwechsel verfahren wird.
 
Ich verwende System Panel App (free). Funktioniert bestens und man kann schnell Apps die man grad nicht verwendet ausschalten. :)
 
Zurück
Oben Unten