Wie verhindert man, dass ein Dienst geschlossen wird?

Ich verwende das neueste Stock-ROM für mein Telefon (SGS3, Vodafone-Variante, obwohl gerootet) und ich habe ein GPS-Live-Tracking-Programm installiert, das die ganze Zeit als Dienst in der Taskleiste bleibt (und so will ich es).

Wenn ich einige RAM-hungrige Spiele lade, die ich installiert habe, stirbt dieser Dienst manchmal (zusammen mit anderen Prozessen, die mir egal sind), weil Android versucht, Speicher automatisch freizugeben (ich habe keinen Task-Killer installiert).

Gibt es eine Möglichkeit, diesem Dienst eine höhere Priorität zu geben, damit er nicht mit den anderen Dingen zusammengespült wird, die der Garbage Collector von Android vernichtet, wenn ich meine bevorzugten enormen Apps öffne?

Vielen Dank im Voraus!

Antworten (2)

Probieren Sie Auto Memory Manager aus und setzen Sie Ihre Minfree-Werte auf dem sekundären Server niedriger, damit die Wahrscheinlichkeit geringer ist, dass Dienste beendet werden. Sie können auch die OOM-Priorität des Dienstes auf 0 erhöhen (niedrigere Werte bedeuten eine geringere Wahrscheinlichkeit, getötet zu werden), ebenfalls Teil der App.

Aus den FAQ : Ich habe die Priorität einer App auf „keep-alive“ gesetzt, aber sie ändert sich nach einer Weile wieder. Was ist los?? Leider liegt dies außerhalb meiner Kontrolle. Ich habe die Möglichkeit, die Prioritäten zu ändern, aber leider verwaltet der Kernel immer noch die Prioritäten und setzt die Prioritäten so, wie er es für angemessen hält. Da wir nie dazu bestimmt waren, Prioritäten manuell zu ändern, denke ich, dass es möglicherweise keine Vorschrift gibt, sich an manuell angepasste Prioritäten zu halten.
Nicht alle Apps sind perfekt und Android hat Einschränkungen. Aber es gibt noch keine andere App, die ich kenne, die den Speicherkiller so effizient einstellen kann wie diese.
Ich kenne mindestens einen weiteren, der diese Fähigkeit hat (mit der gleichen Einschränkung). Es heißt AutoKiller Memory Optimizer . Leider bringt das keine Lösung für mein Problem. Ich werde etwas länger warten, falls jemand etwas weiß, was Sie und ich nicht wissen, bevor ich Ihre Antwort akzeptiere. Im Moment habe ich, wie Sie sehen können, gerade dafür gestimmt.

Die einzige Lösung, die ich gefunden habe und die mit mehr als einem Dienst zu funktionieren scheint, besteht darin, sicherzustellen, dass ich im Task-Manager die Anwendungen offen lasse, die nicht geschlossen werden sollen.

Dies ist kein kugelsicherer Ansatz, aber er funktioniert stunden- oder sogar tagelang (zumindest in meinem Fall) und ist viel schneller als die manuelle Änderung der OOM-Priorität (nur um herauszufinden, dass OOM nach einer Weile vom System selbst zurückgeändert wird).

Die ideale Lösung wäre eine Anwendung, die OOM der vom Benutzer angegebenen Dienste überwacht und sicherstellt, dass sie auf bestimmten Ebenen gehalten werden, aber ich habe bis jetzt keine gefunden, die das kann.