Wird das RAM knapp? Von Taskkillern und anderen bösen Buben

  • Antworten:94
  • OffenNicht stickyNicht beantwortet
Izzy
  • Blogger
  • Forum-Beiträge: 6.929

08.11.2010, 11:11:09 via Website

Oh ja, ich höre schon die Schreie: "Taskkiller gehören verboten! Android kann das selbst!". Und gleich aus der Gegenrichtung: "Taskkiller muss man haben, mein System läuft jetzt viel flüssiger!".

Wer hat nun Recht? Beide. Keiner. Denn hier gibt es kein einfaches Schwarz und Weiß. Sicher ist jedoch: Wer nicht weiß, wie man eine Spritze setzt, sollte sich nicht als Arzt ausgeben - das kann sonst gehörig in die Hose gehen. Ein guter Arzt weiß jedoch die genannte Spritze so einzusetzen, dass sie dem Patienten hilft. Ist jetzt die Spritze "böse"?

Ergo, Leute: Wisset, was Ihr tut - und Taskkiller, Autostart-Helfer, & Co. können sehr nützlich sein. Wisst Ihr es nicht - Finger weg!

Damit nun keiner denkt, ich wollte hier den Moralischen spielen, kommen wir endlich zum Thema: Nach Schauspielern bzw. Charakteren benannt (damit Ihr dabei auch etwas zum Lachen habt), möchte ich Euch verschiedene Szenarien vorstellen - anschließend könnt Ihr Euch alle ein Bild von der Materie machen. Die Allwissenden unter Euch mögen mir kleine Ungenauigkeiten vergeben - ich stecke halt nicht sooo tief in der Materie, denke aber durchaus ein gutes Grundverständnis zu haben.

Hier kommen sie also, die Szenarien:


Details dazu in den folgenden Posts.

— geändert am 08.11.2010, 12:28:30

Tibor S.Willie W.Torsten L.nicawowasPete C.

Antworten
Izzy
  • Blogger
  • Forum-Beiträge: 6.929

08.11.2010, 11:26:53 via Website

Das ist im Prinzip schonmal der richtige Ansatz - auch wenn man gerade nicht "high" ist. Und wenn man sich mit der Materie nicht auskennt, sogar der einzig richtige: Lass in dem Falle besser die Finger davon! Das Speichermanagement von Android ist nämlich gar nicht so schlecht, wie Ihr denkt.

Es ist korrekt: Nur wenige Android-Apps werden wirklich beendet, wenn Ihr sie verlasst. Der Hintergedanke dabei ist, dass sie Euch dann auch schneller wieder zur Verfügung stehen, wenn Ihr sie erneut aufruft. Also eigentlich eine gute Sache - wäre da nicht das Problem, dass unsere Mini-Computer ja nicht über unendlich viel RAM verfügen. Und jetzt fragt Ihr Euch, wie das denn zusammen passt.

Hier kommt etwas ins Spiel, was sich "Out-Of-Memory Killer" (oder kurz: OOM Killer) nennt: Wird das RAM knapp, kommt der OOM Killer zum Einsatz. Er hat da eine wirklich ausgefeilte Strategie herauszufinden, welche Prozesse gerade nicht benötigt werden, und somit Speicher freigeben können. Das jetzt im Detail zu beschreiben, führt an dieser Stelle zu weit (benutzt einfach unseren großen Bruder Google, und fragt ihn nach "OOM Killer" - er weiß die Antworten). Aber zum grundlegenden Verständnis möchte ich das mal ganz arg vereinfacht darstellen:

  1. Suche den (nächsten) Prozess, der das meiste RAM verbraucht
  2. Prüfe, ob es sich um einen Dienst handelt. Wenn ja, zurück zu 1.
  3. Prüfe, ob es sich um einen Vordergrund-Prozess handelt (also die App, mit der Ihr gerade arbeitet). Wenn ja, zurück zu 1.
  4. OK, der wird gerade nicht benötigt - töte ihn!
  5. Ist jetzt wieder genug RAM frei? Wenn nein, zurück zu 1.

Ihr seht, selbst in dieser vereinfachten Form klingt das doch schon recht schlau. Tatsächlich ist es sogar noch schlauer - in den allermeisten Fällen also vollkommen ausreichend.

Wäre da nicht dieses "gallische Dorf"... Nunja, an einer "App" vergeht sich obiger Prozess nämlich gern fälschlicherweise - und wer HTC Sense auf seinem kleinen Liebling hat, wird mir das gleich heftig bestätigen: Man will gerade aus einer App zurück zum Homescreen - und der scheint erstmal neu zu starten, was eine gefühlte Ewigkeit zu dauern scheint. Was ist hier passiert? Ganz einfach: Die "OOM Situation" ist eingetreten, während Ihr in der letzten App wart. Und die Sense UI ist nun mal, nach dem Android-System selbst, die App mit dem höchsten Speicherverbrauch! Das Android System ist ein "Service", bleibt also verschont. Die Sense-UI ist das nicht, und war außerdem gerade "im Hintergrund" - und jetzt spielt obige Liste kurz durch, und Ihr wisst Bescheid.

Fazit: Das Android Speichermanagement ist schon sehr gut - aber es gibt schon hin und wieder einmal Ausnahmen, wo ein Eingreifen des Benutzers nützlich sein kann - so er/sie denn auch mit der Materie genügend vertraut ist.

Tibor S.Pete C.

Antworten
Izzy
  • Blogger
  • Forum-Beiträge: 6.929

08.11.2010, 11:37:13 via Website

Wer hat noch nicht von ihnen gehört - den allgegenwärtigen Task-Killern? Bevor uns also jemand - wie im vorigen Post - die Sense-UI unterm Hintern wegschießt, ziehen wir doch mal eben schneller, gelle? Einfach alles abschießen, was sich bewegt - und Ruhe ist! Da sollte doch dann genügend RAM frei sein?

Jo, das ist wirklich Rambo-Niveau: Klar ist danach genug RAM frei. Aber wie bei "Erst schießen - dann fragen", hat man sich hier auch gleich wichtiger Informanten entledigt. Dieses Vorgehen ist grundlegend falsch! Aber das wisst Ihr ja schon alle, gelle? :grin:

Im schlimmsten Falle hat sich Eure Situation nach diesem MG-Feuer sogar noch verschlechtert. Nicht nur, dass jetzt alle Apps, die Ihr aufrufen wollt, alles neu laden müssen (was Zeit braucht) - hin und wieder kann es nun passieren, dass sie "nicht mehr ganz rund laufen". Weil es durchaus auch Abhängigkeiten geben kann!!! So kann ein Prozess (den Ihr jetzt gerade mit gegrillt habt) einen anderen (den Ihr jetzt gerade benutzen wollt) mit essentiellen Informationen beliefern - oder eben nicht mehr, da er ja nicht mehr läuft. Sowas gibt es unter Android z.B. als "Broadcast" System: Eine App registriert einen "Listener", weil sie über bestimmte Dinge informiert werden möchte. Sobald der zugehörige "Broadcaster" nun also Informationen ausspuckt, informiert Android diesen "Listener" darüber.

Auch wieder eine vereinfachte Darstellung, klar. Aber das soll Euch deutlich machen, dass man sich schon ein wenig im System auskennen sollte, bevor man in selbiges eingreift.

Fazit: Böse, böse, böse!!! Musst nicht Thun,fisch!!!

Tibor S.Pete C.

Antworten
Izzy
  • Blogger
  • Forum-Beiträge: 6.929

08.11.2010, 11:50:58 via Website

Hm, das klingt schon etwas besser: Erst die "guten Jungs (und Mädels)" in Sicherheit bringen - und dann der Roundhouse-Kick für alles, was noch übrig ist.

Viele Task-Killer bringen eine sogenannte "Whitelist" ("weiße Liste" => Ausschlussliste) mit. Was man hier einträgt, wird "geschützt" - allerdings nur vor dem Task-Killer selbst, diese Liste hat keinen Einfluss auf den weiter oben genannten "OOM Killer". Wenn man nun hier richtig sortiert, sollte doch eigentlich alles in Butter sein?

Prinzipiell sollte dem so sein - vorausgesetzt, man war wirklich gründlich, und hat auch nichts vergessen. Auf jeden Fall besser als der Rambo-Mode, wohl wahr. Aber gut? In den seltensten Fällen. Warum? Na, lies nochmal den Dude-Mode oben - es gibt schon gute Gründe dafür, warum Prozesse im System "liegen bleiben". Und vor jeder Betätigung des "Kill-Knopfes" sollte man sich wirklich nochmal vergewissern, ob da nicht vielleicht doch noch was übersehen wurde. Nach jeder Installation einer neuen App gilt es zu überdenken, ob die "Whitelist" aktualisiert werden muss. Klar, wirklich kaputt machen kannst Du hier nix - schlimmstenfalls musst Du halt Dein Handy neu starten. Sofern es sich hier nicht um einen aggressiven Task-Killer handelt, der automatisch aus dem Hinterhalt... äh, Hintergrund... Aber das sollte eigentlich jedem von Euch klar sein.

Wesentlich besser wäre da eine "Blacklist" - also eine "Einschluss-Liste": Nur Prozesse, die explizit benannt wurden, dürfen auch gegrillt werden - sofern sie - oops, was ist denn im Vordergrund, wenn der Kill-Knopf manuell betätigt wird? OK, also ohne "sofern sie". Es sei denn, dieser Killer läuft - wie etwa Speicher-Beschleuniger - im Hintergrund. (Nein, das war jetzt keine Empfehlung - aber auch keine Nicht-Empfehlung. In diesem Thread geht es mir nur um die Kriterien, die Ihr beachten solltet).

Fazit: Naja - unter ganz gewissen Kriterien... in bestimmten Situationen... könnte das sinnvoll sein. Wiederum: Sofern man weiß, was man tut.

Nachtrag: Was so ein "Kill-All" mit "Whitelist" bewirken kann, durfte ich gerade unfreiwillig erfahren: Da bot ein Task-Manager ein Widget an, welches freies RAM anzeigte. In der Erwartung, dass ein Antippen des Widgets nun die App öffnen würde - löste ich dummerweise den "Kill-All" aus. Beeindruckende 100MB zusätzlicher freier Speicher im RAM! Dummerweise taten nun einige Widgets nicht mehr (da ich kein Freund von Kill-All bin, hatte ich natürlich die Whitelist nicht entsprechend bearbeitet). Und während ich meine RSS-Feeds las, poppte dann auch noch das "Force-Close" einer anderen App auf...

— geändert am 14.11.2010, 12:57:17

Tibor S.nicaPete C.

Antworten
Izzy
  • Blogger
  • Forum-Beiträge: 6.929

08.11.2010, 12:20:05 via Website

Oh ja: "Yippieayeh, motherf****". Genau. Aber "langsam sterben", damit bist in diesem Falle DU gemeint. Denn solltest Du wirklich bis hierhin durchgehalten haben, kommt jtzt erst richtig Arbeit auf Dich zu.

Doch zunächst einmal meinen Glückwunsch, dass Du es bis hierher geschafft hast! Das zeigt: Du bist bereit, Dich ernsthaft mit der Materie auseinander zu setzen. Da bin ich doch gern bereit, Dir ein paar Tipps zu geben. Richte Dich aber darauf ein, dass die Ausführung mehr als nur ein paar Minuten benötigen wird - und nicht einfach mit "installier Dir dieses App" getan ist. Nein, ganz im Gegenteil...

Gehen wir doch dem Übel mal an die Wurzel. Nicht "Wie mache ich auf die Schnelle mal RAM frei" - sondern viel besser: "Wie sorge ich dafür, dass das RAM gar nicht erst zugemüllt wird"! Dieser Ansatz mag zwar am Ende nicht so viel RAM freischaufeln wie der Chuck-Norris-Mode oder gar der Rambo-Mode. Dafür ist das Ergebnis aber ein wenig beständiger!

Dazu benötig Ihr im Prinzip gar keine zusätzliche App - für den Anfang genügen die Bordmittel. Es geht nämlich ums Ausmisten:

Mit der Zeit haben sicher alle von uns einige Apps "mal ausprobiert". Und einige davon sind immer noch installiert - obwohl wir sie schon seit gefühlten Jahren nicht mehr benutzt haben. Wozu also an ihnen festhalten? Also:

Schritt 1: Den App-Drawer öffnen, und schauen, was so alles installiert ist. Notieren, was davon weg kann.
Schritt 2: Einstellungen->Anwendungen->Anwendungen verwalten, und nicht mehr benötigtes löschen!

So manches Programm ist nämlich der Meinung, sich mal eben gleich nach dem Booten im Hintergrund zu starten. Was manchmal sinnvoll - aber hin und wieder durchaus fragwürdig ist (etwa bei Apps wie com.appspot.swisscodemonkeys.jokes, was sich bei mir in einigen "Auto-Start-Hooks" (ja, es gibt eine ganze Reihe davon!) eingenistet hatte).

Nebeneffekt: Es wird auch wieder "interner Speicher" frei :grin:

Wenn Ihr dies vollbracht habt, habt Ihr schon einiges gewonnen. Aber von so mancher "Altlast" fällt es einem schwer, sich zu trennen - warum auch immer. Das ist wohl etwas, was wir als "Jäger, Sammler und Fischer"-Mentalität kennen: Einmal gejagtes wird gesammelt, und das Löschen dann immer wieder verschoben - auch wenn man die Dinge nicht wirklich braucht. Schaut Euch nur mal auf der Festplatte Eures PC um...

Wenn das jetzt noch nicht gereicht hat, kannst Du auch noch "etwas tiefer graben". Dafür solltest Du Dich dann aber mit Deinem Android-System auch schon ein wenig auseinander gesetzt haben - und genau wissen, was Du tust:

Da wären dann nämlich noch die Apps, die Du nur sehr, sehr selten benutzt - aber doch noch hin und wieder benötigst. Auch diese haben sich evtl. in irgendwelche Auto-Starts eingetragen. Was vielleicht prinzipiell durchaus sinnvoll und nützlich ist - im konrekten Fall aber nicht unbedingt erwünscht. Auch hier ein konkretes Beispiel: eBay - kaufen & verkaufen wird auch nach dem Booten gestartet - damit Du keine auslaufende Auktion verpasst. Logischerweise muss diese App dafür hin und wieder bei eBay nachschauen, welche Auktionen Du beobachtest. Bist Du aber nur gelegentlich dort aktiv, muss die App ja eigentlich nicht immer laufen - stattdessen könntest Du sie ja bei Bedarf starten.

Konkret geht es hier also um das Aufräumen der Auto-Start Rampen. Hierzu benötigst Du zumindest eine zusätzliche App - zu den Details nehme ich mir hier die Freiheit, auf einen passenden Thread zu verweisen.

Fazit: Diese Methode kann eigentlich nie schaden: Was nicht installiert ist, verbraucht keinen Speicher - und muss auch nicht gekillt werden.

Tibor S.nicaPete C.

Antworten
Izzy
  • Blogger
  • Forum-Beiträge: 6.929

08.11.2010, 12:27:39 via Website

Am Schluss nochmals kurz zusammengefasst:

Hier handelt es sich um ein sehr kontrovers diskutiertes Thema. Worin mir allerdings (fast) jeder zustimmen dürfte:

  • Eingriffe ins System setzen eine gute Kenntnis desselben voraus
  • Was nicht installiert ist, benötigt/belegt keine Ressourcen
  • Aufräumen (nicht benötigte Apps entfernen) schadet nicht

Daher meine Empfehlung: Der "Bruce-Willis-Mode" hat noch keinem geschadet - mistet Euer System ruhig hin und wieder aus, indem Ihr es von nicht mehr benutzten Apps befreit (Anmerkung: Ich rede hier nicht von System-Apps, die zur Entfernung root-Rechte benötigen - diese sind ein anderes Thema!). Für alles andere mein Lieblings-Zitat von Paracelsus:

Es gibt keine Gifte - nur falsche Dosierungen.

Bevor Ihr Euch also ans "große Killen" und "Autostart Bereinigen" macht: Setzt Euch mit dem System auseinander, damit Ihr wisst, was Ihr tut! Und: Ohne Hintergrund-Wissen - FINGER WEG!

Tibor S.Pete C.

Antworten
  • Forum-Beiträge: 180

08.11.2010, 12:51:57 via Website

Sehr gut geschrieben - warum nicht als Blog veröffentlicht? :-)

Lässt sich gut lesen

Vielen Dank!

Pete C.

Antworten
Izzy
  • Blogger
  • Forum-Beiträge: 6.929

08.11.2010, 13:02:50 via Website

Meinst Du das hier: Wird-das-RAM-knapp-Von-Taskkillern-und-anderen-boesen-Buben? Ja, das ist ein Blog :grin:

Habe beides gemacht - erst den Thread hier (an dieser Stelle auch noch in ein paar Monaten gut auffindbar, da das bestimmt ein Mod pinnen wird), und dann den Blog-Eintrag (mit kurzer Zusammenfassung und verweis nach hier). Sofern sich eine gute Diskussion entwickelt, wird obiges dann noch verfeinert - und landet am Ende u.U. auch noch im Wiki. Aller guten Dinge sind drei :lol:

Und Danke für das Lob!

Antworten
Bastian Siewers
  • Admin
  • Staff
  • Forum-Beiträge: 9.223

08.11.2010, 13:21:27 via App

Sehr cool und wirklich hilfreich für viele Anfänger.
Ich fände es cool, wenn Izzys Beiträge einen extra Bereich kriegen würde, da wenn das so weitergeht, besteht die erste Seite des "Apps" Forum nur noch aus gepinnten Beiträgen und des weiteren wären die Beiträge auch noch einfacher zu finden. Ist aber nur meine Meinung ;-)
Noch mals Izzy, sehr sehr cool gemacht ;-)

— geändert am 08.11.2010, 13:22:05

ErnstLuigi

Antworten
  • Forum-Beiträge: 393

08.11.2010, 13:29:06 via Website

Wow wirklich schön geschrieben. Denke dieser Thread wird mein neuer "Darauf verlinke ich bei unwissenden Task-Killernutzern"-Tread :grin:

@Evelyn habe dich erst nach Izzys Post erkannt :cold: :grin:

Antworten
Izzy
  • Blogger
  • Forum-Beiträge: 6.929

08.11.2010, 13:40:51 via Website

Benjamin Rüde
Denke dieser Thread wird mein neuer "Darauf verlinke ich bei unwissenden Task-Killernutzern"-Tread :grin:

Ja, ein Sachverhalt, der scheinbar bereits vor 2.000 Jahren bekannt war: "...denn sie wissen nicht, was sie tun" <3

"root" ist ja auch nicht gleich "böse", nur weil ein "Unbedarfter" sich damit das System zerlegt hat...

Benjamin Rüde
@Evelyn habe dich erst nach Izzys Post erkannt :cold: :grin:

LOL... Ja, ich wollte sie kürzlich sogar benachrichtigen, dass sich da schon wieder jemand wildfremdes ihres Markenzeichens (ENTDECKT!) bedient hat. Hab auch erst ein Weilchen gebraucht um festzustellen, dass sie das selbst war! Und wieder eine alte Weisheit: "Kleider machen Leute"...

Antworten
  • Forum-Beiträge: 25

08.11.2010, 13:47:52 via Website

Izzy
So manches Programm ist nämlich der Meinung, sich mal eben gleich nach dem Booten im Hintergrund zu starten. Was manchmal sinnvoll - aber hin und wieder durchaus fragwürdig ist (etwa bei Apps wie com.appspot.swisscodemonkeys.jokes, was sich bei mir in einigen "Auto-Start-Hooks" (ja, es gibt eine ganze Reihe davon!) eingenistet hatte).
Moooment! Wir sind hier nicht bei Windows, wo ein Programm gestartet wird und daraufhin den Speicher blockiert und die CPU mit Leerlauf-Zyklen belastet!
Und es gibt nur einen "echten" "Auto-Start-Hook".
Was hier woh eher gemeint ist: Android schickt bei bestimmten Ereignissen sogenannte "Broadcasts" und die Apps können sagen, auf welche sie reagieren wollen. Z.B. System wurde hochgefahren (der "echte Autostart"), SD rein/raus, Bildschirm an/aus, SMS empfangen, etc. Je nach Benachrichtigung passiert das nur, wenn ein laufender Dienst dafür registriert wurde oder - weitaus häufiger - immer, d.h., bei Bedarf wird die App in den Speicher geladen. Es wird dann nur die Benachrichtigung abgearbeitet, und sofern nicht z.B. ein Dienst gestartet oder weitere Benachrichtigungen eingeplant wurden, passiert danach überhaupt nichts mehr bis die App wegen Speichermangel gekickt oder wieder benötigt wird.
In den meisten Fällen ist die sinnvollste Lösung, in den Einstellungen dafür zu sorgen, dass beim "normalen" Autostart eben kein Dienst gestartet bzw. kein regelmäßige Benachrichtigungen eingeplant werden. Dann dauert halt das Hochfahren eine Nanosekunde länger und der Task erscheint in der "Taskliste" (eher Speicherbelegung) bis er vom System geputzt wurde, aber das stört nicht wirklich...
Die "Autostarts" (=Benachrichtigungs-Empfangs-Wünsche) einfach zu entfernen kann dafür sorgen, dass die Anwendungen nicht mehr richtig funktionieren - denn das System benachrichtigt diese dann auch nicht mehr, wenn sie laufen. Wie gesagt, Android macht da keinen Unterschied. Im Normalfall sollte das Abarbeiten so einer Benachrichtigung auch nicht lange dauern, und sofort danach kann Android die App ja auch schon wieder aus dem Speicher werfen.
Richtig ist aber, dass es ggf. etwas dauern kann, wenn z.B. nach "SD wurde eingesteckt" (wird auch nach einem Reboot signalisiert) 10 Apps damit loslegen die gesamte Karte nach neuen Liedern, eBooks, Navi-Karten, ... zu durchsuchen. Das ist dann einfach schlechter Programmierstil, den aber leider auch Androids systemeigene Medienbibliothek an den Tag legt.

Ach ja, und mal generell zum Speichermangel-Problem: Dass eine Anwendung wegen Speichermangel nicht starten kann, kann seit Android 2.0 überhaupt nicht vorkommen und bei älteren Versionen nur wenn der Speicher komplett voll ist mit Diensten, die von sich behaupten "Vordergrunddienste" zu sein (d.h., der Benutzer weiß, dass da was läuft, und es sollte nicht unterbrochen werden). Weil das zu oft mißbraucht wurde, können das seit Android 2.0 nur Dienste behaupten, die ein Icon in der Benachrichtigungsleiste haben, und auch diese werden mittlerweile wenn nötig "gekillt" - wenn auch erst, wenn sonst nichts mehr geht.

Das weitaus größere Problem bei Android ist der Speicherverbrauch einer App selbst. Google hat nämlich den Hauptspeicherbedarf einer App auf 16MB begrenzt (ohne den App-Code selbst, also "nur" für Objekte und Variablen), selbst wenn noch 2GB frei wären - mit 27 Bildern in HVGA-Größe (320*480*4 Byte pro Pixel) ist der erlaubte Speicher also schon voll, andere interne Daten gar nicht mitgerechnet. Bei manchen (W)VGA-Geräten wurde dieses Limit auf 24MB erhöht. Damit sollte wohl gewährleistet werden, dass das System nicht durch Apps mit Speicherloch lahmgelegt wird.
Dazu kommen noch ein paar Systembugs und hinterlistige Fallstricke, die schnell mal dafür sorgen, dass der Speicher schneller vollläuft (z.B. kein Recycling von Element-Views in ausklappbaren Listen, Referenz-Kreisschlüsse durch interne Referenzen in Android-Klassen, etc.), und schon hat man einen Absturz wegen Speichermangels obwohl doch scheinbar so viel frei ist...

Antworten
  • Forum-Beiträge: 16

08.11.2010, 13:54:24 via Website

Mein Milestone hat sich mehrmals am Tag rebootet - dachte erst es wäre ein Feature bis ich den AdvancedTaskManager deinstalliert habe -> Keine Reboots mehr, RAM zu genüge vorhanden und der Akku wird auch nicht schneller leer.

MEIN(!) FAZIT: Autokill braucht kein Mensch!

Antworten
  • Forum-Beiträge: 25

08.11.2010, 14:03:31 via Website

Ach ja, und noch eine Zusammenfassung zum Task-/Speichermanagement, dass ich demletzt in 'nem anderen Forum gepostet hab. Vielleicht hilft's ja dem ein oder anderem beim Verständnis...

- Was man in den meisten Taskmanagern sieht, sind die Anwendungen, die im Speicher liegen. Sie "laufen" aber (meistens, mehr dazu später) nicht und werden vom System entfernt, wenn es Speicher benötigt.
- Das Entfernen aus dem Speicher dauert nicht so lange wie bei Windows 3.x sondern geschieht meist unmerkbar schnell
- Eine Android-App macht nur etwas, wenn sie sichtbar ist, ein Hintergrunddienst läuft (dafür gibt's 'ne eigene Liste in den Einstellungen) oder gerade eine Nachricht (Android-Slang: "Broadcast-Intent") abgehandelt wird
- Solche Nachrichten werden z.B. nach dem Hochfahren, beim Entfernen/Einschieben einer Speicherkarte, beim Empfangen einer SMS, Ein-/Ausschalten des Bildschirms und vielen anderen Ereignissen gesendet; die Apps können angeben, welche davon sie empfangen wollen. Ist die App nicht im Speicher, wird sie dafür geladen. Außerdem können Apps zeitgesteuert, auch regelmäßig (z.B. alle 5 Minuten), "eigene" Nachrichten vom System senden lassen.
- Es gibt keine einfache Möglichkeit festzustellen, ob und wie oft eine App etwas im Hintergrund macht.
- Bis einschließlich Android 2.1 wurden beim "Killen" eines Tasks auch die von diesem angewiesenen zeitgesteuerten Nachrichten entfernt, wodurch z.B. Wecker oder Profiltools nicht mehr funktionierten. Bei Android 2.2 wurde das von Google geändert, da dieses Verhalten zu viele Probleme bereitete (v.a. durch "Autokiller").
- Es gibt seit Android 2.2 also keine Möglichkeit, über das System regelmäßige Hintergrundjobs zu beenden. Da muss man schon die Einstellungen der App anpassen oder sie deinstallieren...
- "lange Home drücken" bringt keine Taskliste, sondern die zuletzt gestarteten Apps, egal ob diese laufen bzw. im Speicher liegen oder nicht
- Es gibt derzeit keine Möglichkeit, in Android Tasks aus Anwendersicht zu verwalten, also z.B. eine Art "Alt-Tab" zwischen den Apps, die man gerade "offen hat"

Andreas G.

Antworten
Izzy
  • Blogger
  • Forum-Beiträge: 6.929

08.11.2010, 14:23:02 via Website

@Mirko: Danke für die technischen Hintergrund-Infos! Kann ich so unterschreiben. Meine obigen Posts sind halt eher im Niveau für Anfänger angesiedelt, und gehen daher nicht so in die Tiefe.

Aber: Es gibt sehr wohl eine Möglichkeit, "Android Tasks aus Anwendersicht zu verwalten" - schau Dir einfach mal z.B. com.hz.manager.android.paid (oder in der freien Version: com.hz.manager.android) an. Dort werden Dir u.a. auch die laufenden Apps angezeigt.

Was den OOM-Killer (und damit die automatische Speicher-Bereinigung) angeht: Siehe "Dude-Mode". Funktioniert im Prinzip sehr gut - aber es gibt, wie überall, Ausnahmen. Leider kann der Anwender hier überhaupt nicht eingreifen (sonst würde ich bei mir einfach die HTC Sense UI in der Priorität hochstufen), sodass doch hin und wieder etwas gekillt wird, was nicht so glücklich ist. Suche nur mal danach - und Du wirst das Problem mit der Sense-UI zuhauf finden. Auch wenn es oftmals der einen oder anderen App angelastet wird (z.B. bei K9 Mail).

Wie beschrieben: Es gibt hier einfach keine klare Schwarz-Weiß-Abgrenzung.

Antworten
  • Forum-Beiträge: 141

08.11.2010, 14:29:36 via Website

Und warum läuft es bei mir dann nicht flüssig?
Klar habe ich einiges in der Whitelist, und hatte bisher auch keine anderen Probleme, ich bekomme E-Mails, Anrufe, SMS, Spiele laufen.

Antworten
Izzy
  • Blogger
  • Forum-Beiträge: 6.929

08.11.2010, 14:44:48 via Website

@Chris: Eine pauschale Antwort kann es da kaum geben. Das muss man meist von Fall zu Fall entscheiden - und dann natürlich konkret mit alles technischen Daten. Ohne Dein Gerät, Deine installierten Apps, gerade/immer ausgeführten Tasks, RAM Auslastung... zu kennen, kann Dir da niemand eine 100% treffende Antwort geben - und "wilde Vermutungen" werden Dir kaum helfen.

Meine obigen Posts (insbesondere der "Bruce-Willis-Mode") mögen Dir im Ansatz helfen. Alles weitere würde dann ein wenig tiefer gehen - und u.U. auch meinen Horizont überschreiten. Und wie getippst: "bei mir läuft es nicht flüssig" ist als Grundlage für eine Analyse unzureichend :grin:

Wenn ich da wirklich richtig eingearbeitet wäre, würde ich ja bezahlten Support anbieten B) (ist ja doch immer auf einen speziellen Fall anzuwenden, und jedes Mal eine - zumindest leicht - andere Situation). Aber derzeit wäre das eher anmaßend von mir. Sicher traue ich mir dabei einiges zu (und wüsste auch auf Anhieb einige Stichpunkte zu nennen) - aber bei "bezahltem Support" erwartet man auch eine garantierte Lösung. Und garantieren kann ich für nix :grin:

Antworten

Empfohlene Artikel