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 den Betrieb meines Android-Telefons aus?
Android-Anwendungen haben drei Arten von Komponenten. Im Allgemeinen müssen Benutzer nichts davon wissen: Sie sind eine Möglichkeit für App-Autoren, bestimmte Verhaltensweisen in ihre Apps zu programmieren. Aber wenn Sie 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 innerhalb des Systems zusammenpassen.
Eine Aktivität ist die bekannteste Art von Komponente: Es ist ein Fenster, das Sie sehen können: entweder im Vollbildmodus oder in Dialoggröße. Eine Aktivität wird nur ausgeführt, während sie auf dem Bildschirm angezeigt wird. Sobald Sie die Aktivität verlassen, hält Android diese App im Speicher bereit, um erneut gestartet zu werden, aber die Aktivität wird nicht ausgeführt, was bedeutet, dass sie weder Akku noch Netzwerk verwendet. Eine App startet eine Aktivität mit einer Absicht . Die Absicht kann explizit angeben, welche Aktivität gestartet werden soll, oder sie kann eine auszuführende Aktion angeben (z. B. das Öffnen einer bestimmten Datei). Wenn mehr als eine Aktivität die Absicht „verarbeiten“ kann, wird ein Dialogfeld angezeigt, in dem Sie aufgefordert werden, eine auszuwählen.
Ein Dienst ist eine weitere Anwendungskomponente. Sobald eine andere Komponente (vielleicht eine Aktivität oder ein anderer Dienst) einen Dienst gestartet hat, läuft er im Hintergrund, bis er sich selbst stoppt. Dies bedeutet, dass ein Dienst Ihr Telefon möglicherweise wach hält (mithilfe einer Wecksperre ), den Akku entlädt oder viele Netzwerkdaten verwendet, ohne dass etwas auf dem Bildschirm angezeigt wird.
Apps können Dienste verwenden, um lang andauernde Prozesse im Hintergrund auszuführen, wie z. B. das Herunterladen von Dateien von einem Server, das Abrufen von E-Mails oder das Überprüfen Ihres Standorts. Obwohl Dienste nicht direkt angezeigt werden oder mit Ihnen interagieren, werden sie dennoch in der Liste „Ausgeführte Apps“ angezeigt. Wählen Sie in der App „Einstellungen “ den Apps- oder Anwendungsmanager und dann Wird ausgeführt aus . Sie können einen Dienst auf diese Weise stoppen, aber das ist normalerweise nicht notwendig. Da Dienste nicht direkt sichtbar sind, betrachtet Android sie als weniger wichtig als Aktivitäten, sodass sie als erste beendet werden, wenn Ihr Telefon mehr Speicher benötigt.
Rundfunkempfänger sind die dritte Art von Komponenten. Wie Dienste existieren sie nur im Hintergrund und interagieren nicht direkt mit Ihnen. Aber im Gegensatz zu Diensten können sie nicht weiterlaufen oder lange Aufgaben ausführen: Sie existieren, um auf Ereignisse zu reagieren. Und im Gegensatz zu Aktivitäten und Diensten können mehrere Rundfunkempfänger auf einmal gestartet werden.
Eine Komponente sendet eine Absicht, möglicherweise an eine App, aber häufiger, ohne eine bestimmte App anzugeben. In diesem Fall stellt die Absicht normalerweise ein Ereignis dar, das passiert ist, wie z. B. eine schwache Batterie. Das System findet alle Rundfunkempfänger, die ein Interesse angemeldet haben (unter Verwendung eines Absichtsfilters ), und führt sie der Reihe nach aus. Jeder Rundfunkempfänger kann sofort reagieren, indem er beispielsweise eine Benachrichtigung erstellt, oder er kann einen Dienst oder eine Aktivität starten, um weitere Maßnahmen zu ergreifen. Sobald der Rundfunkempfänger das Ereignis behandelt hat, wird er angehalten und läuft nicht weiter, bis ein anderes ähnliches Ereignis gesendet wird.
Ein Beispiel für das Zusammenwirken aller drei Komponenten ist das Herunterladen einer App von Google Play. Erstens 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 vielleicht verliert das Telefon die Internetverbindung, während die neue App heruntergeladen wird. In diesem Fall registriert der Downloaddienst von Google Play einen Rundfunkempfänger mit einem Absichtsfilter, der besagt, dass er an Änderungen der Netzwerkkonnektivität interessiert ist, und der Dienst stoppt sich dann selbst. Wenn das Telefon eine Verbindung zum Internet herstellt, sendet das System ein Ereignis. Android startet den vom Google Play-Dienst registrierten Rundfunkempfänger zusammen mit allen anderen Rundfunkempfängern, die auf dieses Ereignis warten. In diesem Fall startet der Rundfunkempfänger den Download-Dienst erneut. Der Dienst erstellt Benachrichtigungen, während der Download fortschreitet, und wenn er abgeschlossen ist, sendet er einen eigenen Broadcast, um andere Apps darüber zu informieren, dass das neue Paket installiert wurde, und stoppt sich dann selbst. Dies wiederum startet Broadcast-Empfänger von anderen Apps,
In Summe:-
Raul Raina