Ich höre immer wieder von Diensten und Rundfunkempfängern . Was ist der Unterschied zwischen ihnen und wie wirken sie sich aus meiner Sicht auf die Funktionsweise meines Android-Telefons aus?
Ich höre immer wieder von Diensten und Rundfunkempfängern . Was ist der Unterschied zwischen ihnen und wie wirken sie sich aus meiner Sicht auf die Funktionsweise meines Android-Telefons aus?
Antworten:
Android-Anwendungen haben drei Arten von Komponenten. Im Allgemeinen müssen Benutzer nicht über sie Bescheid wissen: Sie sind eine Möglichkeit für App-Autoren, bestimmte Verhaltensweisen in ihre Apps zu programmieren. Wenn Sie jedoch das Verhalten Ihrer Apps genau beobachten, z. B. mit einem Task-Manager, oder wenn Sie Dinge mit einer App wie Tasker automatisieren, ist es hilfreich zu verstehen, wie sie im System zusammenpassen.
Eine Aktivität ist die bekannteste Art von Komponente: Es handelt sich um ein Fenster, das Sie sehen können: entweder im Vollbildmodus oder in der Größe eines Dialogfelds. Eine Aktivität wird nur ausgeführt, solange sie auf dem Bildschirm angezeigt wird. Sobald Sie die Aktivität verlassen, hält Android diese App im Speicher bereit, um sie erneut zu starten. Die Aktivität wird jedoch nicht ausgeführt, sodass weder Akku noch Netzwerk verwendet werden. Eine App startet eine Aktivität mit einer Absicht . Die Absicht kann explizit angeben, welche Aktivität gestartet werden soll, oder es kann eine auszuführende Aktion angegeben werden (z. B. das Öffnen einer bestimmten Datei). Wenn mehr als eine Aktivität die Absicht "handhaben" kann, wird das Dialogfeld angezeigt, in dem Sie aufgefordert werden, eine auszuwählen.
Ein Dienst ist eine weitere Anwendungskomponente. Sobald eine andere Komponente (z. B. eine Aktivität oder ein anderer Dienst) einen Dienst gestartet hat, wird er im Hintergrund ausgeführt, bis er sich selbst beendet. Dies bedeutet, dass ein Dienst Ihr Telefon möglicherweise wach hält (mithilfe einer Aktivierungssperre ), den Akku erschöpft oder viele Netzwerkdaten verwendet, ohne dass etwas auf dem Bildschirm angezeigt wird.
Apps können Dienste verwenden, um lang laufende Prozesse im Hintergrund auszuführen, z. B. das Herunterladen von Dateien von einem Server oder das Suchen nach E-Mails oder das Überprüfen Ihres Standorts. Obwohl Dienste nicht direkt angezeigt werden oder mit Ihnen interagieren, werden sie dennoch in der Liste "Laufende Apps" angezeigt. Von der Einstellungen App, wählen Sie Apps oder Anwendungen Manager , und dann laufen . Sie können einen Dienst auf diese Weise beenden, dies ist jedoch normalerweise nicht erforderlich. Da Dienste nicht direkt sichtbar sind, sind sie für Android weniger wichtig als Aktivitäten. Sie werden daher als Erste beendet, wenn Ihr Telefon mehr Speicher benötigt.
Rundfunkempfänger sind die dritte Art von Komponenten. Wie Services existieren sie nur im Hintergrund und interagieren nicht direkt mit Ihnen. Im Gegensatz zu Diensten können sie jedoch nicht ausgeführt werden oder lange Aufgaben ausführen: Sie sind vorhanden, um auf Ereignisse zu reagieren. Und im Gegensatz zu Aktivitäten und Diensten kann mehr als ein Rundfunkempfänger auf einmal gestartet werden.
Eine Komponente sendet eine Absicht möglicherweise an eine App, jedoch häufiger ohne Angabe einer bestimmten App. In diesem Fall steht die Absicht normalerweise für ein Ereignis, das eingetreten ist, wie z. B. ein schwacher Akku. Das System findet alle Rundfunkempfänger, die ein Interesse registriert haben (unter Verwendung eines Absichtsfilters ), und führt jedes nacheinander aus. Jeder Rundfunkempfänger kann sofort reagieren, indem er beispielsweise eine Benachrichtigung erstellt, oder einen Dienst oder eine Aktivität starten, um weitere Maßnahmen zu ergreifen. Sobald der Rundfunkempfänger das Ereignis behandelt hat, wird es gestoppt und erst wieder ausgeführt, wenn ein anderes ähnliches Ereignis gesendet wird.
Ein Beispiel für die Zusammenarbeit aller drei Komponenten ist das Herunterladen einer App von Google Play. Zunächst bietet die Google Play-Aktivität die visuelle Oberfläche, über die Sie den herunterzuladenden Inhalt auswählen können. Die Liste der Apps kann eine Aktivität sein. Durch Klicken auf die Schaltfläche "Installieren" wird eine weitere Aktivität gestartet, um den Bestätigungs- oder Zahlungsdialog anzuzeigen. Wenn Sie bestätigen, startet die Dialogaktivität einen Dienst. Der Dienst lädt den Inhalt auch dann weiter herunter, wenn die Aktivität beendet ist und nicht mehr ausgeführt wird.
Aber möglicherweise verliert das Telefon die Internetverbindung, während die neue App heruntergeladen wird. In diesem Fall registriert der Download-Dienst von Google Play einen Rundfunkempfänger mit einem Filter, der darauf hinweist, dass er an Änderungen der Netzwerkkonnektivität interessiert ist, und der Dienst stoppt sich dann von selbst. Wenn das Telefon eine Verbindung zum Internet herstellt, sendet das System ein Ereignis. Android startet den vom Google Play-Dienst registrierten Rundfunkempfänger sowie alle anderen Rundfunkempfänger, die auf dieses Ereignis warten. In diesem Fall startet der Rundfunkempfänger den Download-Dienst erneut. Der Dienst erstellt Benachrichtigungen, wenn der Download fortgesetzt wird, und sendet nach Abschluss des Vorgangs eine eigene Sendung, um andere Apps darüber zu informieren, dass das neue Paket installiert wurde, und beendet sich dann von selbst. Dies startet wiederum Rundfunkempfänger von anderen Apps,
In Summe:-