Gibt es eine Funktion in Android analog zu „int main“ in C/C ++, die die Hauptschleife des Programms enthält?

StackOverflow https://stackoverflow.com/questions/1099640

Frage

Normalerweise gibt es in einem C- oder C ++ - Programm normalerweise eine Hauptschleife/Funktion, normalerweise int main (). Gibt es eine ähnliche Funktion, die ich in der Android -Java -Entwicklung verwenden kann?

War es hilfreich?

Lösung

In Bezug auf ein Android -Programm gibt es kein Main (). Es gibt eine UI -Schleife, die das Betriebssystem ausgeführt hat, das Anrufe zu Methoden tätigt, die Sie in Ihrem Programm definieren oder überschreiben. Diese Methoden werden wahrscheinlich in OnCreate (), OnStart (), OnResume (), Onrestart (), OnPause (), OnStop () oder OnDestroy () aufgerufen/definiert. Alle diese Methoden können in Ihrem Programm überschrieben werden.

Das grundlegende Problem ist, dass das Betriebssystem so konzipiert ist, dass er in einer ressourcenbeschränkten Umgebung ausgeführt wird. Ihr Programm muss darauf vorbereitet sein, angehalten zu werden, und sogar vollständig gestoppt werden, wenn das Betriebssystem mehr Speicher benötigt (dies ist ein Multitasking -Betriebssystem). Um zu verarbeiten, dass Ihr Programm einige der oben genannten Funktionen aufgelistet hat.

Der Aktivitätslebenszyklus beschreibt dieses Beste (Ihr Programm ist eine oder mehrere Aktivitäten, die eine Aktivität als Bildschirm betrachten):

http://developer.android.com/reference/android/app/activity.html#activityLifecycle

Fazit: Ihr Programm beginnt bei oncreate () über OnResume (), aber im Betriebssystem wird die Schleife ausgeführt. Ihr Programm bietet Rückrufe zum Betriebssystem, um das zu verarbeiten, was das Betriebssystem an sie sendet. Wenn Sie zu einem beliebigen Punkt in Ihrem Programm eine lange Schleife setzen, wird er einfrieren, da das Betriebssystem (insbesondere der UI -Thread) nicht in der Lage ist, Zeit zu erhalten. Verwenden Sie einen Faden für lange Schleifen.

Andere Tipps

In der Android -Umgebung gibt es kein Main (). Das Betriebssystem stützt sich auf die Manifestdatei, um den Einstiegspunkt, eine Aktivität in den meisten Fällen, in Ihre Anwendung herauszufinden.

Du solltest lesen http://developer.android.com/guide/topics/fundamentals.html Weitere Details.

Entsprechend:http://developer.android.com/guide/tutorials/hello-ford.html

Die Anwendungsklasse muss eine Methode für jede Aktivität unterstützen, die die Anwendung unterstützt. Im allgemeinen Fall entspricht die OnCreate wahrscheinlich der Haupt-/Top -Funktion für Ihre Bedürfnisse.

Vielleicht ist es möglich, einen Timer zu erstellen und benutzerdefinierte Funktionen bei jedem Tick auszuführen. Setzen Sie den Timer zurück, wenn es zu einer bestimmten Zeit ist

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top