2009-07-08 3 views

risposta

11

Per quanto riguarda un programma Android, non esiste main(). Esiste un ciclo di interfaccia utente eseguito dal sistema operativo che effettua chiamate ai metodi definiti o sovrascriventi nel programma. Questi metodi sono probabilmente chiamati da/defined in onCreate(), onStart(), onResume(), onReStart(), onPause(), onStop() o onDestroy(). Tutti questi metodi possono essere sostituiti nel tuo programma.

Il problema fondamentale è che il sistema operativo è progettato per essere eseguito in un ambiente con risorse limitate. Il tuo programma deve essere pronto per essere fermato e anche completamente interrotto quando il sistema operativo ha bisogno di più memoria (questo è un sistema operativo multitasking). Per gestire il tuo programma è necessario avere alcune delle funzioni sopra elencate.

Il ciclo di vita di attività descrive questo migliore (il vostro programma è una o più attività, pensare di un'attività come uno schermo):

http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

Linea di fondo: Il vostro programma 'inizia' a onCreate() tramite onResume() ma il sistema operativo sta eseguendo il ciclo. Il tuo programma fornisce callback al sistema operativo per gestire qualsiasi cosa il sistema operativo lo invii. Se si inserisce un ciclo lungo in qualsiasi punto del programma, apparirà bloccato perché il sistema operativo (in particolare il thread dell'interfaccia utente) non è in grado di ottenere una porzione di tempo. Utilizzare un filo per loop lunghi.

1

Forse è possibile con la creazione di un timer ed eseguire funzioni personalizzate ad ogni tick, resettare il timer quando è in un momento specifico

+0

Questo in realtà non può essere considerato funzione principale in quel modo. – partlov

Problemi correlati