Attività sincrona e asincrona

Qualcuno mi può aiutare a capire sincrono e asincrona attività in Android?

Che cosa si intenda esattamente per sincrona e asincrona attività in Android?

StartActivity, StartSubActivity e StartAcivityForResult avviare un’attività in modo sincrono o asincrono, o possono comportarsi in entrambi i modi?

Si prega di spiegare come sono andato attraverso molti articoli, ma non riusciva a trovare nessuna spiegazione su questo.

  • la domanda è la stessa: [link] stackoverflow.com/questions/8613295/… e anche di aver risposto a questo post. E allora perché si sta ponendo la stessa domanda.Inoltre, per quanto ne so startSubActivity è mai uscito in pubblico e funzionalità è fornita da startActivityForResult()
  • Grazie Ravi per il commento. Ho risposto a quella domanda, ma io m ancora un po ‘ confuso su questo concetto. Così voglio essere chiaro al 100%. Se avete qualche Idea su ciò che si può condividere con me …:)
  • “Qualcuno mi può aiutare a spiegare Sincrona e Asincrona Attività in android”. – non c’è nessuna tale concetto in Android.
  • che cosa mai l’utente sta facendo un’attività – c’è un thread dell’interfaccia utente che è in esecuzione, almeno, in modo che, secondo voi, un’attività è un processo o appena raccolta di alcuni thread di un processo per l’Applicazione?
  • Un’attività è una classe Java. Non è un processo né una raccolta di un paio di thread.
  • ok, @CommonsWare voglio dire, al momento della sottoscrizione da parte del sistema … ?? Come è una classe Java, c’mulino essere un oggetto, l’oggetto è di eseguire qualsiasi funzione… come parte di un processo o thread ???

InformationsquelleAutor Dinesh Sharma | 2012-01-06



One Reply
  1. 17

    Prima di tutto, un’attività può essere in esecuzione in un tempo su Android, in modo che non avrai mai due attività in esecuzione allo stesso tempo. Utilizzare startActivity() quando vuoi “fire and forget”, che è, si desidera avviare un’attività ma non sono in attesa per la restituzione di un valore alla tua attività. In questo caso, la nuova attività avrà inizio e la vostra attività sarà sospesa; si potrebbe riprendere il controllo una volta che l’utente torna alla tua attività.

    Utilizzare startActivityForResult() quando si sono expecing un risultato dall’attività che si sta avviando. In questo caso, la chiamata, l’attività dovrebbe ignorare onActivityResult(), che verrà chiamato quando è stata lanciata, attività, uscite e ha un risultato al ritorno (che si imposta con setResult()).

    In entrambi i casi, dal momento che la chiamata di attività e la detta attività si trovano nella stessa attività, è “sincrono” in un certo senso (anche se penso che i termini “sincrono” e “asincrono” può essere fonte di confusione in questo contesto). La chiamata di attività non vengono visualizzate sullo schermo fino a quando l’attività chiamati finiture.

    Una lettura utile per sapere di più è:
    * http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html


    Bruno Oliveira (Android Developer Relations, Google)

    • Grazie Bruno per una risposta rapida. Ma può solo spiegare a me in che senso il termine “sincrono” e “asincrono” sono utilizzati per come ho visto in molti luoghi questi tipo di domanda sorge spontanea….
    • Sincrono significa che l’esecuzione non continuerà fino a quando un certo compito è finito. Se startActivity lavorato in questo modo, tutta l’interfaccia potrebbe congelare fino a quando l’attività è in esecuzione. Asincrono significa che la vostra attività si svolgerà da qualche parte nel futuro, e l’esecuzione continua nel frattempo: è richiesta un’Attività di avvio, e il codice continua a eseguire sapendo che accadrà alla fine.
    • La risposta è di non affrontare la questione in modo corretto.
    • Questo è quello giusto stackoverflow.com/a/13919420/1939564

Lascia un commento