Auf Ice Cream Sandwich (ICS) kategorisiert das Betriebssystem Ihre App und jede Kategorie hat einen eigenen Schwellenwert, anhand dessen das Betriebssystem bestimmt, welche App zuerst geschlossen wird, wenn der Arbeitsspeicher knapp wird.
Hat sich jemand von Ihnen geärgert, dass Sie einen Timer geöffnet haben, der im Hintergrund ausgeführt wird, um die abgelaufene Zeit zu messen? Dann haben Sie einige weitere Apps geöffnet und sind zu Ihrem Timer zurückgekehrt, nur um zu sehen, dass er zurückgesetzt oder geschlossen wurde? Ich meine, im Ernst, es ist wirklich unerträglich nervig.
Gibt es eine Möglichkeit, die Ausführung einer App im Hintergrund zu erzwingen, auch wenn auf dem Betriebssystem kein Speicher mehr verfügbar ist?
4.0-ice-cream-sandwich
ram
samsung-galaxy-s-3
supertonsky
quelle
quelle
Antworten:
Die akzeptierte Antwort stellte sich als falsch oder veraltet heraus. Mit dem Modul "App-Einstellungen" für die Xposed-App können Sie pro App festlegen, dass Apps nicht getötet oder freigegeben werden:
http://repo.xposed.info/module/de.robv.android.xposed.installer
http://repo.xposed.info/module/de.robv.android.xposed.mods.appsettings
Selbstverständlich sollte beim Spielen mit Apps, die ein derart niedriges Verhalten aufweisen, mit größter Sorgfalt vorgegangen werden.
quelle
Einfache Antwort: Nein. Android verwendet immer OOM (Out-Of-Memory), um nicht genutzten Speicherplatz freizugeben. Sie können die Prioritäten von Apps (zumindest bis zum Neustart) mit einigen Task-Managern ändern, aber selbst dann, wenn der Speicher knapp wird, werden Apps im Hintergrund beendet.
Denken Sie an dieses Szenario: Sie haben eine schlecht codierte App heruntergeladen, die beim Booten ausgeführt wird, einen Pufferüberlauf verursacht und Ihren gesamten Arbeitsspeicher beansprucht. Normalerweise wird diese App beendet, aber wenn sie so eingestellt ist, dass sie offen bleibt, wird Ihr Telefon bis zum Neustart blockiert und danach erneut gestartet usw.
Einige Zeitgeber verwenden Dienste mit hohen Prioritäten, um dieses Problem zu vermeiden. Wenn Sie jedoch genügend leistungsfähige, ressourcenschonende Apps starten, während sich der Zeitgeber im Hintergrund befindet, wird er möglicherweise beendet.
quelle
Integer.MAX_VALUE
Zeiten wiederholt haben . Warum denkst du, sind die DingeInteger.MAX_VALUE
sowieso begrenzt?Es gibt jedoch zwei Methoden, um das Problem zu lösen, die jedoch nur vom Entwickler implementiert werden können: Die erste besteht darin, eine Benachrichtigung anzuzeigen. Android gibt Apps, die dies tun, eine höhere Priorität als andere. Die zweite ist, die Startzeit zu speichern, damit sie nicht zurückgesetzt wird, wenn der Timer irgendwann neu gestartet wird.
quelle
onSaveInstanceState
und,onRestoreInstanceState
um den App-Status einschließlich der Timer-Informationen zu speichern. Im Vordergrund muss nicht ausgeführt werden. Auch wenn es sich um einen Alarm handelt, können SieAlarmManager
sicherstellen, dass er später ausgeführt wird. Der einzige Grund, warum der Vordergrund verwendet werden sollte, ist: 1. Sie haben eine bestimmte Vordergrundaktivität, z. B. das Abspielen von Musik oder das Anzeigen eines Videos. 2. Sie möchten eine Datenverbindung offen halten (z. B. IMAP IDLE (Push)).1. Methode: - Wenn Sie im Programm Sticky Thread erstellen, können Sie Ihr Programm zwangsweise auf dem Laufenden halten. Denken Sie jedoch daran, dass der Benutzer im erweiterten Einstellungsmodus Apps beenden kann, die im Hintergrund ausgeführt werden. Wenn Sie jedoch den klebrigen Thread so schreiben, dass er bei jedem aufgetretenen Ereignis beginnt, kann dies erreicht werden.
2. Methode: WENN der Benutzer kein Root-Android ist und eine App im Hintergrund ausführen möchte. benutze SL4 Skript im Hintergrund aus der App. Verwenden Sie ein Skript, mit dem Sie Hintergrundüberprüfungen und Programme durchführen und das Front-End schreiben, um etwas anderes anzuzeigen.
ZB: In den meisten Game Engines ist dies eingebaut. Sie stellen eine Verbindung zu Servern her, obwohl der Benutzer die App deaktiviert hat. Der Grund, warum die Engine im Telefon mehrere Skripte erstellt, die bei bestimmten Ereignissen zufällig überprüft werden und mit TRIGGER Ihre App fortlaufend im Vordergrund ausgeführt wird.
*** Tut mir leid, dass die Rechtschreibprüfung für TYPO nicht verfügbar ist. Hoffe du erreichst, was du erreichen willst.
quelle
Es gibt manchmal eine Option, um die App zu sperren . Dadurch wird verhindert , dass diese Anwendung im Telefon beendet oder gestoppt wird .
Die Sperroption ist im Betriebssystem selbst nicht verfügbar. Einige Anwendungen von Drittanbietern wie GO Task Manager usw. können hier Abhilfe schaffen.
quelle