[Frage] Apps am automat. Start hindern - Welche? Und vor allem: welche nie?

  • Antworten:8
Evelyn C.
  • Forum-Beiträge: 7.346

09.05.2011, 08:51:50 via Website

Mal bezugnehmend auf den Test der App Autorun Manager von Izzy.

Dort hat Izzy ja u.a. geschrieben:

"Werden die System-Apps aktiviert, hebt Autorun sie in der Anzeige mit rotem Hintergrund hervor:
Hier solltest Du also besondere Vorsicht walten lassen!"

Jetzt drängt sich mir folgende Frage auf:
Es sind ja gerade (meistens) Apps, welche das Handy von Haus aus mitbringt (also nicht von mir installiert wurden), die sich auf meinem Desire beständig neu starten. Beispiel: Aktien.

Wenn ich nun den Screenshots im o.g. Test folge, sehe ich, dass "Aktien" eine der rot hinterlegten Apps ist, also eine System-App. Heißt das nun mit anderen Worten, als NICHT-ROOTER nützt mir eine App wie [app]Autorun Manager[/app] auch wieder nix, weil ich auch mit [app]Autorun Manager[/app]

a) entweder keinen Zugriff auf diese Art Apps habe ohne Root oder
b) ich von dieser Art System-Apps sowieso dringend die Finger lassen muß, selbst wenn ich Zugriff hätte?

Verwirrt-um-sich-blick........... :mellow:

We choose our destiny in the way we treat others Apps nach EinsatzzweckKleine, tolle Helferlein (Apps)

Antworten
Izzy
  • Forum-Beiträge: 6.929

09.05.2011, 09:47:53 via Website

Hi Eve,

da gibt es bestimmt noch einige Punkte mehr, auf die ich im Testbericht nicht eingegangen bin -- er wäre dann sicher vielen zu lang geworden. Zum Glück haben wir ja ein Forum, auf das wir da verweisen können :P

Um auf Deine konkrete Frage einzugehen, muss zuvor eine andere beantwortet werden:

Was sind System-Apps?

Trugschluss: Apps, die zum (Betriebs-) System gehören, und damit "unabdingbar" und "zwingend nötig" sind => FALSCH.

Das Wort "System" bezieht sich hier vielmehr auf die Partition, auf der die jeweilige App installiert ist: "/system". Was macht da den Unterschied? Nun: Diese Partition ist "nur lesend" eingebunden -- d.h. der "normale User" (ohne root) kann hier nur lesend zugreifen. Das gilt also für alles, was hier installiert ist: Da Zugriff nur lesend, ist also auch nix mit Löschen. Natürlich findet sich hier auch das Betriebssystem und die zugehörigen essentiellen Dateien. Aber dummerweise sind auch die Apps, mit denen die Hersteller (oder auch Provider) uns "beglücken" wollen, hier installiert -- z.B. die von Dir erwähnte "Aktien" App. Aber auch Facebook, Peep, diverse HTC-Gadgets...

Für eine App wie ARM (Autorun Manager) ist es daher schwer, die "echten Betriebssystem-Apps" von diesen "Beglückungs-Apps" zu unterscheiden. Sie können nur davon ausgehen: Ist eine App auf "/system" installiert, ist es mit großer Wahrscheinlichkeit eine "Kern-App". Klar könnte man hier eine Ausnahme-Liste pflegen (kann ja jemand dem Entwickler mal vorschlagen). Oder die Möglichkeit schaffen, selber Ausnahmen zu definieren (was dem "Normal-User" wieder weniger hilft, weil die Entscheidung dann doch wieder bei ihm hängt)...

Generell gilt bei Apps, die ins System eingreifen: Man sollte schon recht gut wissen, was man tut -- bevor man es tut. Gerade ARM warnt daher an vielen Stellen, dass man gut nachdenken, die Hilfe lesen, und sich auf der Homepage informieren sollte, bevor man [dies-und-das] tut.

Dazu gehört auch zu wissen, wie die entsprechende App funktioniert. Vielleicht ist es ja unabdingbar, dass sie gestartet ist? Klassisches Beispiel eines Missverständnisses findet sich in den Market-Kommentaren zur App:

Fredy
Ein Witz gegenüber autostarts zeigt nur ein bruchteil der Programme an und bleibt nach Ausführung auch noch im Speicher

Fredy wusste offensichtlich nicht, was er tat. Er benutzte auch nur den "Basis-Modus" (im "Erweiterten Modus" zeigt ARM nämlich die gleichen Apps an wie AutoStart, habe das geprüft). Hier werden nur die Apps gelistet, die "nach dem Booten starten" wollen. Und, wenn Ihr die Beschreibung/Doku/Hilfe von ARM lest: Diese Apps werden nach dem Starten (und optional auch, wenn sie nach Aufhebung der Bildschirm-Sperre wieder starten) gekillt. Frage: Warum also muss ARM "nach der Ausführung auch noch im Speicher" bleiben? Mal ganz abgesehen davon, dass eine "Beendete" App bei Android generell so lange im Speicher verbleibt, bis der OOM-Killer sie dort wegräumt. Das ist ja das ganze Prinzip bei Android.

Also, immer zuerst überlegen: Wozu muss die App automatisch starten? Hat dies vielleicht einen guten Grund?

Zweite Frage, wenn die erste geklärt ist: Brauche ich das? Hier mal drei Fälle:

1) Eves "Aktien".
Die muss natürlich gestartet werden, damit sie im Hintergrund die Aktienkurse aktualisieren kann. Hat also einen guten Grund (um die erste Frage zu beantworten). Was die zweite Frage angeht: Eve benutzt diese App gar nicht. Sie benötigt sie auch gar nicht. Sie will sie eigentlich gar nicht auf ihrem lieben Desire haben (oh, sie "desired" sie gar nicht, hihi). Die logische Konsequenz wäre also: Runter damit. Geht dummerweise nicht ohne root. ABER: Es stört die liebe Eve auch überhaupt nicht, wenn diese App halt einfach nicht funktioniert -- denn das könnte passieren, wenn wir sie hier deaktivieren (die App, nicht die Eve). Ergo: Eve kann die App versuchen zu deaktivieren.

Im Fall der Aktien-App könnte da (Eves Berichten per EMail zufolge) aber dummerweise folgendes passieren: ARM schiesst die App wunschgemäss ab -- aber das dumme teil startet sich gleich wieder selbst (es ist ein sogenannter "Self-Restarter"). ARM erkennt das, und markiert die App in der Liste entsprechend. Eve ist in diesem Fall nicht wirklich geholfen bei ihrem Wunsch, dieser App ledig zu werden -- sie weiß nun lediglich mit Sicherheit, dass es "so einfach" nicht klappt. Um die App nun dennoch los zu werden, müsste sie ihr geliebtes Desire rooten: Dann könnte sie die Aktien-App wahlweise mit Titanium Backup gleich ganz löschen, oder im Erweiterten Modus von ARM deaktivieren (dort werden nämlich einfach die sogenannten "Receiver" entfernt -- die Aktien-App würde also nie erfahren, dass das System mit dem Booten fertig ist -- und somit auch nicht starten).

2) 3G Watchdog
Zur ersten Frage: Logisch muss die App nach dem Booten starten -- schließlich soll sie ja als "Datenzähler" fungieren. Und dazu muss sie eben laufen, hilft nix. Zur zweiten Frage: Wenn Du die App brauchst, musst Du sie laufen lassen -- deaktivierst Du sie hier, machst Du sie "kaputt", sie funktioniert dann nicht mehr sauber. Und brauchst Du sie nicht -- na, dann weg damit. Aber nicht in ARM, sondern deinstallieren. Schafft nebenbei auch ein wenig Platz im Speicher.

3) Andere App
Hier muss ich mal was konstruieren, da mir gerade kein passendes Beispiel einfällt. Wir nehmen eine App mit Widgets, und wenden uns der ersten Frage zu: Hm, kein plausibler Grund, warum die App automatisch starten sollte. Oder doch? Ja, eben: Um die Widgets aktuell zu halten. Du nutzt die Widgets? (achja, das ist schon die zweite Frage) Ja = Finger weg, laufen (bzw. automatisch starten) lassen. Nein = Dann kannst Du die App mal testweise vom Autostart ausnehmen. Anschließend gut testen, ob sie noch sauber läuft und alles funktioniert. Benimmt sie sich plötzlich anders und baut Mist? Dann besser wieder aktivieren. Alles sauber? Dann kannst Du sie deaktiviert lassen.

So, ich hoffe, ich konnte Deine Frage soweit beantworten. Wenn nicht (und auch bei weiteren Fragen), klare Ansage -- und ich werde mich bemühen, die Lücken zu füllen :lol:

Antworten
Izzy
  • Forum-Beiträge: 6.929

09.05.2011, 10:45:34 via Website

So, und jetzt noch eine nachtragende Korrektur nach Interview des Entwicklers:

Máté
System apps are filtered by package name, actually which starts with:
("system")
("com.google.")
("com.rs.")
("com.android.")
("com.tmobile.myfaves")
("com.samsung.")
("com.htc.")
("com.motorola.")

these are usually located under /system as well, but I see your suggestion, i will review what I have here and how I could shape this feature.

Für die nicht-Engländischen: ARM erkennt die "System-Apps" anhand eines Filters auf deren "Package Namen" (siehe Liste oben). Und ich hatte eine "White-Liste" empfohlen, um die nicht-Android-System-Sytem-Apps (ouch) wie Aktien, Fakebook, Peep, gezwitscher u.s.w. entsprechend GELB einzufärben -- also nicht "grün" (User-App), aber auch nicht "rot" (Android-System Core-App). sondern einfach "anders" (Vendor-App: liegt auf /system, obwohl sie da nicht hingehört). Wie Ihr seht, wieder einmal Klasse Support -- nach knapp zwei Stunden steht das Feature schon auf der Todo-Liste. Naja, auf der Wunschliste zumindest, und wird evaluiert...

Gelöschter Account

Antworten
Gelöschter Account
  • Forum-Beiträge: 7.924

10.05.2011, 06:55:33 via App

habe ich das richtig verstandenen: den Advanced Mode kann man nur mit root nutzen?

Desire HD > Note 2 LTE > Moto G > OnePlus One [Cyanogen OS | CM11S | root]

und jetzt noch ein Nexus 10 [Android 5 | root]
:D

Antworten
Izzy
  • Forum-Beiträge: 6.929

10.05.2011, 09:55:11 via Website

Ja, hast Du richtig verstanden. Der greift nämlich so richtig tief ins System ein, wo halt eigentlich nur das System selbst reingreifen darf. Und da es für jene Stelle keine offizielle API gibt (Google wünscht halt nicht, dass da jemand hingreift), geht das nur über root.

Antworten
Gregor R.
  • Forum-Beiträge: 4

31.05.2011, 21:33:37 via Website

Ich wollte hier einfach meinen Respekt gegenüber Izzy bekunden, der mit seinem sehr bildhaften, verständlichen und umsichtigen Schreibstil hier ein Highlight setzt. Oberklasse !

Antworten
incocnito
  • Forum-Beiträge: 4

29.12.2012, 22:55:39 via Website

Hi
Wie sieht das aus mit spielen? kann ich da jede verbieten? auch nach starts des phones

mfg

Antworten